发布于2026-05-31 阅读(0)
扫一扫,手机访问
升级Docker其实并不复杂,主要有两种常见方式:一种是直接用软件包管理器搞定,另一种是手动替换二进制文件。先说第一种,也是大多数人最熟悉的——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整个过程自动处理依赖,省心省力。但如果想尝鲜,或者需要绕过仓库安装,可以试试手动替换二进制的方式。
先杀掉正在运行的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 psCONTAINER 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 versionClient 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,整个过程没有遇到什么意外。当然,如果你的生产环境容器较多,记得先做好备份或灰度测试。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9