Ubuntu20中升级Docker版本

提示:在Ubuntu 20.04系统上升级Docker版本,Docker的升级通常不会直接影响容器,因为容器数据通常存储在宿主机的/var/lib/docker目录下,升级过程一般不会删除或修改这个目录,不过,为了确保万无一失,请提前备份数据。


1. 备份Docker数据:(虽然升级通常不会删除数据,但备份可以防止意外情况。)

备份/var/lib/docker目录。

sudo tar -zcvf docker-backup.tar.gz /var/lib/docker

作用:防止升级过程中意外数据丢失。
恢复方法(如升级失败):

sudo tar -zxvf docker-backup.tar.gz -C /

2. 更新包索引:确保能获取到最新版本的Docker。

添加Docker官方仓库(如未配置)

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. 升级Docker:使用apt upgrade或者安装指定版本。

sudo apt-get update
#升级前查看当前版本
docker --version
#执行升级(自动处理依赖)
sudo apt-get upgrade docker-ce docker-ce-cli containerd.io
#或指定版本(如5:24.0.5~3.1)
#sudo apt-get install docker-ce=5:24.0.5~3.1 docker-ce-cli=5:24.0.5~3.1 containerd.io

4. 重启Docker服务:升级后可能需要重启Docker服务,这会导致容器短暂停止,但重启后会自动启动。

升级后需重启Docker服务:

 sudo systemctl restart docker

影响:容器会短暂停止,但重启后会自动恢复。
验证:

sudo docker ps -a  # 检查容器状态是否为"Up"

5. 验证容器状态:确保所有容器在升级后正常运行。

手动测试关键容器:

   #进入容器执行命令(例如检查服务状态)
   sudo docker exec -it <容器名> /bin/bash
   #或直接调用容器API(如Web服务)
   curl http://localhost:<端口>

7. 升级后检查项

日志排查:

 journalctl -u docker.service -n 50 --no-pager

配置兼容性:

检查/etc/docker/daemon.json是否与新版Docker兼容。

存储驱动(如使用非默认驱动):

确认新版本是否支持(如overlay2仍为默认驱动)。

常见问题处理

升级后容器无法启动:

  1. 检查日志:docker logs <容器名>。
  2. 回滚Docker版本(需提前记录旧版本):
sudo apt-get install docker-ce=<旧版本号>

依赖冲突:

使用apt-get install -f修复依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值