CentOS中Docker升级详细步骤
备份重要数据
升级前务必备份Docker容器、镜像和卷等关键数据,避免操作失误导致数据丢失。常用命令:
docker save -o /path/to/backup/image.tar imagenamedocker export -o /path/to/backup/container.tar containernamedocker cp containername:/path/to/data /local/path/to/backup检查当前Docker版本
运行以下命令确认当前Docker版本,明确升级需求:
docker --version
停止Docker服务
升级前停止Docker服务,确保操作安全:
sudo systemctl stop docker
彻底卸载旧版本Docker及相关组件,避免残留文件冲突:
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
可选:删除旧版Docker数据目录(谨慎操作,删除后将永久丢失数据):
sudo rm -rf /var/lib/docker
通过官方仓库安装最新稳定版Docker,确保版本兼容性和安全性:
# 安装yum-utils工具(用于管理仓库)
sudo yum install -y yum-utils
# 添加Docker官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
更新YUM包索引
sudo yum update -y
安装Docker CE及依赖
安装最新版本的Docker社区版(CE)、CLI工具和containerd容器运行时:
sudo yum install -y docker-ce docker-ce-cli containerd.io
注:若需安装特定版本(如生产环境推荐),可先列出可用版本:
yum list docker-ce --showduplicates | sort -r
然后选择指定版本安装(以docker-ce-25.0.0为例):
sudo yum install -y docker-ce-25.0.0 docker-ce-cli-25.0.0 containerd.io
启动Docker服务
sudo systemctl start docker
设置开机自启
sudo systemctl enable docker
检查Docker版本
运行以下命令确认升级成功:
docker --version
输出应显示最新版本号(如Docker version 25.0.0, build xxxxx)。
测试Docker功能
运行测试容器,验证Docker是否正常工作:
docker run hello-world
若输出`Hello from Docker!',则说明升级成功。
依赖冲突
若安装过程中出现依赖错误,可尝试更新系统所有软件包后再重新安装:
sudo yum update -y && sudo yum install -y docker-ce docker-ce-cli containerd.io
数据恢复
若升级后出现问题,可通过之前备份的数据恢复镜像、容器或卷:
docker load -i /path/to/backup/image.tarcat /path/to/backup/container.tar | docker import - containernamesudo 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