商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 简易的Docker版本升级方法

简易的Docker版本升级方法

  发布于2026-05-31 阅读(0)

扫一扫,手机访问

升级Docker其实并不复杂,主要有两种常见方式:一种是直接用软件包管理器搞定,另一种是手动替换二进制文件。先说第一种,也是大多数人最熟悉的——apt-get

1、使用 apt-get

先导入Docker官方的GPG密钥,验证包来源的安全性:

复制代码

代码如下:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

接着把Docker的仓库地址加到apt源列表里:

复制代码

代码如下:sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

然后刷新本地源:

复制代码

代码如下:sudo apt-get update

最后直接安装最新版本:

复制代码

代码如下:sudo apt-get install lxc-docker

整个过程自动处理依赖,省心省力。但如果想尝鲜,或者需要绕过仓库安装,可以试试手动替换二进制的方式。

2、手工安装

先杀掉正在运行的Docker守护进程:

复制代码

代码如下:killall docker

接下来下载最新的二进制文件:

复制代码

代码如下:wget http://get.docker.io/builds/Linux/x86_64/docker-latest -O docker

赋予执行权限:

复制代码

代码如下:chmod +x docker

最后以守护进程模式启动新版Docker:

复制代码

代码如下:sudo ./docker -d &

需要注意的是,这里的-d是守护进程模式,&让它在后台运行。

升级的一次实际操作记录

下面是一个完整的升级流程,从检查容器状态到验证新版本。先看看当前运行的容器有哪些:

复制代码

代码如下:[root@AY140716133600881bf5Z ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS S

2901c1a54ec1 csphere/registry-v2:latest "/bin/registry-start 2 days ago Up 37 hours 0.0.0.0:4

e6b677c7ea75 csphere/csphere:0.11.2 "/bin/csphere-init - 2 weeks ago Up 37 hours 8086/tcp,

ac72d59f36e1 csphere/csphere:0.11.2 "/bin/csphere-init - 2 weeks ago Up 37 hours

a12cf20d6e65 registry.wpython.com:5000/library/nginx:1.4.7 "/usr/bin/supervisor 2 weeks ago Up 37 hours 22/tcp, 0

1b926cc81862 registry.wpython.com:5000/library/php:5.6.9 "/usr/bin/supervisor 2 weeks ago Up 37 hours 22/tcp, 9

8e44f1761417 registry.wpython.com:5000/library/mysql:5.5.37 "/usr/bin/supervisor 2 weeks ago Up 37 hours 22/tcp, 3

看到一堆容器在跑,先逐个停掉(这里只展示第一个容器的停止命令,其余类似):

复制代码

代码如下:docker stop 2901c1a54ec1

......

......

......

所有容器停掉之后,再停止Docker服务本身:

复制代码

代码如下:/etc/init.d/docker stop

接下来下载最新的二进制文件并替换到系统路径:

复制代码

代码如下:sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker && chmod +x /usr/bin/docker

替换完成,启动Docker服务:

复制代码

代码如下:/etc/init.d/docker start

最后用版本命令确认升级是否成功:

复制代码

代码如下:# docker version

Client version: 1.7.0

Client API version: 1.19

Go version (client): go1.4.2

Git commit (client): 0baf609

OS/Arch (client): linux/amd64

Server version: 1.7.0

Server API version: 1.19

Go version (server): go1.4.2

Git commit (server): 0baf609

OS/Arch (server): linux/amd64

从输出看,客户端和服务端都升级到了1.7.0,整个过程没有遇到什么意外。当然,如果你的生产环境容器较多,记得先做好备份或灰度测试。

本文转载于:https://www.jb51.net/os/other/367950.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注