温馨提示×

centos中docker如何更新

小樊
56
2025-09-17 16:52:47
栏目: 智能运维

CentOS中Docker更新步骤

1. 升级前准备

  • 备份重要数据:升级前务必备份Docker镜像、容器及卷数据,避免操作失误导致数据丢失。常用命令:
    docker save -o /path/to/backup/image.tar imagename(备份镜像);
    docker export -o /path/to/backup/container.tar containername(备份容器文件系统);
    docker cp containername:/path/to/data /local/path/to/backup(备份卷数据)。
  • 检查当前版本:确认当前Docker版本,便于后续对比升级结果。命令:
    docker --version(示例输出:Docker version 20.10.12, build e91ed57)。

2. 卸载旧版本Docker

彻底移除旧版本Docker及相关组件,避免残留文件冲突。命令:
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

  • 可选:清理旧数据目录:若无需保留容器/镜像数据,可删除/var/lib/docker目录(谨慎操作)。命令:
    sudo rm -rf /var/lib/docker

3. 安装依赖包

安装Docker所需的依赖工具,确保后续安装流程顺利。命令:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4. 添加Docker官方YUM源

通过官方源获取最新版本的Docker包,保证软件安全性和兼容性。命令:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5. 安装最新版本Docker

  • 自动安装最新版:直接安装Docker社区版(CE)及配套组件(containerd.io是容器运行时,必装)。命令:
    sudo yum install -y docker-ce docker-ce-cli containerd.io
  • 安装特定版本(可选):若需指定版本,可先列出可用版本(按版本号降序排列),再选择安装。命令:
    yum list docker-ce --showduplicates | sort -r(查看版本列表);
    sudo yum install -y docker-ce-<VERSION> docker-ce-cli-<VERSION> containerd.io(替换<VERSION>为目标版本,如24.0.7)。

6. 启动Docker并设置开机自启

  • 启动服务:立即启用Docker守护进程。命令:
    sudo systemctl start docker
  • 设置开机自启:确保系统重启后Docker自动运行。命令:
    sudo systemctl enable docker

7. 验证升级结果

  • 检查版本:确认Docker已升级至最新版。命令:
    docker --version(示例输出:Docker version 24.0.7, build afdd53b)。
  • 测试功能:运行测试容器,验证Docker是否正常工作。命令:
    docker run hello-world(若输出“Hello from Docker!”,则说明升级成功)。

额外说明

  • 生产环境建议:升级前务必在测试环境验证流程,避免影响线上业务;若使用Docker Compose,需同步升级(命令: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)。
  • 常见问题处理:若升级后服务无法启动,可通过journalctl -u docker查看系统日志定位错误;若遇到依赖冲突,可尝试sudo yum clean all清理缓存后重新安装。

0