在Ubuntu 22.04系统中,若您希望将Docker从版本27.3.1降级到24.0.7,同时保留现有的容器和数据,可以按照以下步骤操作。请务必在操作前备份重要数据,以防万一。
步骤 1:备份Docker数据
虽然降级过程不会删除容器,但为了安全起见,建议备份Docker的数据目录。
1
2
| sudo systemctl stop docker
sudo cp -r /var/lib/docker /var/lib/docker-backup
|
步骤 2:卸载当前的Docker版本
卸载Docker软件包,但保留配置文件和数据。
1
| sudo apt-get remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
步骤 3:设置Docker的APT存储库(如果尚未设置)
确保您的系统已经添加了Docker的官方APT存储库。如果之前已经设置过,可以跳过此步骤。
- 安装必要的依赖包:
1
2
3
4
5
6
| sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
|
- 添加Docker的官方GPG密钥:
1
2
| sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
- 设置Docker的APT存储库:
1
2
3
| 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
|
步骤 4:更新APT包索引
步骤 5:查找可用的Docker版本
使用以下命令列出所有可用的Docker版本,确保24.0.7版本在列表中。
1
| apt-cache madison docker-ce
|
您应该会看到类似如下的输出,其中包含所需的版本:
1
2
| docker-ce | 5:24.0.7~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
...
|
步骤 6:安装指定版本的Docker
根据上一步查找到的版本信息,安装Docker 24.0.7。请确保版本号与apt-cache madison docker-ce
命令输出的版本完全匹配。
1
| sudo apt-get install docker-ce=5:24.0.7~3-0~ubuntu-jammy docker-ce-cli=5:24.0.7~3-0~ubuntu-jammy containerd.io docker-buildx-plugin docker-compose-plugin
|
注意:
- 如果提示某些包不可用,可能需要检查存储库配置是否正确,或尝试更新APT缓存。
- 确保所有相关Docker组件(如
docker-ce-cli
)都安装为相同的版本,以避免兼容性问题。
步骤 7:锁定Docker版本
为了防止Docker在未来的系统更新中被自动升级,可以锁定当前安装的Docker版本。
1
| sudo apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
步骤 8:启动并验证Docker
- 启动Docker服务并设置开机自启:
1
2
| sudo systemctl start docker
sudo systemctl enable docker
|
- 验证Docker版本:
1
| Docker version 24.0.7, build <commit>
|
- 检查Docker状态:
1
| sudo systemctl status docker
|
确认Docker服务正在运行且没有错误。
步骤 9:验证现有容器
确保您的现有容器仍然存在并且可以正常运行。
您应该能看到之前创建的所有容器。如果有需要,可以尝试启动某个容器以确认其正常运行。
附加说明
- 回滚计划: 如果在降级过程中遇到问题,可以使用备份的数据目录
/var/lib/docker-backup
还原Docker数据。
1
2
3
4
| sudo systemctl stop docker
sudo rm -rf /var/lib/docker
sudo cp -r /var/lib/docker-backup /var/lib/docker
sudo systemctl start docker
|
通过以上步骤,您应该能够成功将Docker从27.3.1版本降级到24.0.7,同时保留现有的容器和数据。如有任何问题,请评论探讨!