1. Docker升级前的准备工作
在升级Docker之前,应该先备份数据和已安装的Docker镜像。可以使用以下命令备份容器数据和镜像文件:
- 备份容器数据
$ docker ps -a #查看运行中和已停止的容器
$ docker export <container-id> > backup.tar #备份容器数据
- 备份镜像文件
$ docker save -o <image name>.tar <image id> #备份镜像
完成备份后,卸载旧版本Docker。
2. 安装新版本Docker
- 添加Docker软件源到系统中
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 更新软件包
$ sudo apt-get update
- 安装Docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io -y
检查Docker是否安装成功
$ docker --version
3. 恢复备份
- 恢复容器数据
$ docker load -i backup.tar
- 恢复镜像文件
$ docker load -i <image name>.tar
示例一:从Docker 1.0.0升级到Docker 2.0.0
- 备份旧版本数据和镜像
$ docker ps -a
$ docker export <container-id> > backup.tar
$ docker save -o <image name>.tar <image id>
- 卸载旧版本Docker
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
- 安装Docker 2.0.0
$ sudo apt-get update
$ sudo apt-get install docker-ce=2.0.0~ce~debian
- 恢复旧版本数据和镜像文件
$ docker load -i backup.tar
$ docker load -i <image name>.tar
示例二:从Docker 18.03升级到Docker 19.03
- 备份旧版本数据和镜像
$ docker ps -a
$ docker export <container-id> > backup.tar
$ docker save -o <image name>.tar <image id>
- 卸载旧版本Docker
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
- 安装Docker 19.03
$ sudo apt-get update
$ sudo apt-get install docker-ce=5:19.03.0~3-0~debian-stretch docker-ce-cli=5:19.03.0~3-0~debian-stretch containerd.io
- 恢复旧版本数据和镜像文件
$ docker load -i backup.tar
$ docker load -i <image name>.tar
注意:在升级Docker之前,请确保所有的容器都已经停止。在升级过程中,也请根据实际情况选择Docker的稳定版本,避免出现安装不成功、容器不可用等问题。