一、环境介绍

1、Ubuntu版本:Ubuntu20.0.4 2、Centos版本:Centos7-X86_64-Eeverything2009

二、升级思路

1、停止Docker守护程序; 2、删除旧版本Docker; 3、安装新版本Docker; 4、配置新版本的Docker为开机自启动; 5、确保容器重启成功。

三、升级步骤

3.1 在Ubuntu20.04版本升级Docker CE

1、执行apt-get update命令更新APT包列表。

root@zq-virtual-machine:/home/zq/Desktop# apt-get update

2、执行systemctl stop docker命令停止Docker服务。

root@zq-virtual-machine:/home/zq/Desktop# systemctl stop docker

3、执行apt-get remove docker docker-engine docker-ce docker.io -y命令移除Docker包。

root@zq-virtual-machine:/home/zq/Desktop# apt-get remove docker docker-engine docker-ce docker.io -y

4、执行wget -qO- https://get.docker.com/ | sh命令使用get.docker.com脚本完成最新版本Docker CE安装和配置。

root@zq-virtual-machine:/home/zq/Desktop# wget -qO- https://get.docker.com/ | sh

5、执行systemctl enable docker命令设置Docker为开机自启动。

root@zq-virtual-machine:/home/zq/Desktop# systemctl enable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

6、执行systemctl is-enabled docker命令查看Docker开机运行状态。

root@zq-virtual-machine:/home/zq/Desktop# systemctl is-enabled docker
enabled

7、执行以下命令查看容器和服务是否重启成功。

root@zq-virtual-machine:/home/zq/Desktop# docker container ls
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

root@zq-virtual-machine:/home/zq/Desktop# docker service ls
ID        NAME      MODE      REPLICAS   IMAGE     PORTS

8、若执行docker service ls命令发生Error response from daemon报错信息,可以参考报错处理:Error response from daemon: This node is not a swarm manager.

3.2 在Centos7版本升级Docker CE

1、执行yum update命令更新最新的包。

[root@aaa student]# yum update

2、执行systemctl stop docker命令停止Docker服务。

[root@aaa student]# systemctl stop docker

3、执行yum remove docker docker-engine docker-ce docker.io -y命令移除Docker包。

[root@aaa student]# yum remove docker docker-engine docker-ce docker.io -y

4、执行wget -qO- https://get.docker.com/ | sh命令从https://get.docker.com获取并运行docker安装脚本,采用pipe方式来执行脚本。

[root@aaa student]# wget -qO- https://get.docker.com/ | sh

5、执行systemctl enable docker命令设置Docker为开机自启动。

[root@aaa student]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

6、执行systemctl is-enabled docker命令查看Docker开机运行状态。

[root@aaa student]# systemctl is-enabled docker
enabled

7、执行以下命令查看容器和服务是否重启成功。

[root@aaa student]# docker container ls
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@aaa student]# docker service ls
ID        NAME      MODE      REPLICAS   IMAGE     PORTS

8、若执行docker service ls命令发生Error response from daemon报错信息,可以参考报错处理:Error response from daemon: This node is not a swarm manager.