Ubuntu 上 Docker 的更新与升级指南
一 升级前准备
- 备份重要数据:容器数据通常在卷(Volume)或绑定挂载中,建议先备份。示例:
- 卷备份:
docker run --rm -v <volume_name>:/volume -v /path/to/backup:/backup loomchild/volume-backup backup /backup
- 容器内目录拷贝:
docker cp <container_id>:/path/to/dir /path/to/backup
- 检查运行状态:
docker ps -a
- 建议先停止容器(可选,减少写入):
- 停止全部:docker stop $(docker ps -q)
- 停止单个:docker stop <container_id>
- 查看当前 Docker 版本:
docker --version
以上步骤有助于降低升级风险并确保数据安全。
二 使用 APT 就地升级 Docker Engine
- 更新索引并仅升级 Docker 包:
sudo apt-get update
sudo apt-get install --only-upgrade docker-ce docker-ce-cli containerd.io
- 验证版本:
docker --version
- 如服务未运行则启动:
sudo systemctl start docker
sudo systemctl enable docker
- 查看服务日志以排查问题:
sudo journalctl -u docker
这是 Ubuntu 上推荐的常规升级方式,简单且风险低。
三 跨版本升级或首次规范化安装
- 卸载旧版组件(如有):
sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装依赖:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 添加官方 APT 源(自动匹配发行版代号):
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
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 验证:
docker --version
以上流程适用于从旧版本迁移或首次在 Ubuntu 上规范化安装 Docker。
四 升级 Docker Compose
- 二进制方式升级(通用 Linux):
sudo curl -L “https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- 验证:
docker-compose --version
如需使用包管理器安装或不同平台的安装方式,请参考 Docker 官方文档。
五 升级后验证与回滚建议
- 确认 Docker 服务正常:
sudo systemctl status docker
- 查看版本与运行日志:
docker --version
sudo journalctl -u docker
- 重新启动容器并核对状态:
docker start $(docker ps -a -q)
docker ps
- 如遇问题:优先回滚到旧版本包(如仍保留在 apt 缓存中可 sudo apt-get install docker-ce=<旧版本>),并恢复备份数据;必要时查看日志定位具体错误。
这些步骤可确保升级后系统与应用稳定运行。