centos

CentOS Docker容器如何进行更新与升级

小樊
44
2025-10-21 18:48:44
栏目: 智能运维

CentOS环境下Docker容器/系统的更新与升级指南

一、CentOS系统下升级Docker引擎(宿主机层面)

若需升级CentOS宿主机上的Docker引擎(用于管理容器),需遵循以下步骤:

  1. 备份关键数据:升级前务必备份容器(docker commit <容器ID> <新镜像名>)、卷(docker volume backup)及配置文件(如/etc/docker/daemon.json),避免数据丢失。
  2. 卸载旧版本Docker:停止Docker服务并移除旧组件,避免版本冲突:
    sudo systemctl stop docker
    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  3. 设置Docker官方仓库:添加Docker CE稳定版仓库,确保获取最新版本:
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/$releasever/$basearch/stable
    
  4. 安装最新版Docker:安装Docker引擎及依赖组件:
    sudo yum install docker-ce docker-ce-cli containerd.io
    
  5. 启动并验证Docker:启动服务并检查版本,确认升级成功:
    sudo systemctl start docker
    sudo systemctl enable docker
    docker version  # 查看版本信息
    
  6. 清理旧数据(可选):删除旧版Docker的残留数据(如/var/lib/docker),释放磁盘空间。

二、Docker容器内更新CentOS系统(容器自身系统升级)

若需升级容器内运行的CentOS系统(如修复漏洞或更新软件包),可通过以下步骤操作:

  1. 启动并进入容器:启动目标容器并进入bash终端:
    docker run -it --name my_centos centos:latest /bin/bash
    
  2. 更新YUM包管理器:确保YUM能获取最新软件包信息:
    yum update -y yum
    
  3. 升级系统软件包:更新容器内所有可升级的软件包:
    yum update -y
    
  4. 重启容器(可选):部分系统更新需重启容器生效,退出容器后执行:
    exit
    docker restart my_centos
    docker exec -it my_centos /bin/bash  # 重新进入容器验证
    
  5. 验证更新结果:通过cat /etc/os-release查看CentOS版本,确认升级成功。

三、Docker容器镜像更新(拉取最新镜像并重启容器)

若需更新容器使用的镜像(如应用镜像升级),需替换旧容器为新镜像:

  1. 拉取最新镜像:从Docker Hub或私有仓库获取最新镜像(指定标签,如latest或具体版本):
    docker pull <镜像名>:<标签>  # 示例:docker pull nginx:latest
    
  2. 停止并删除旧容器:备份数据后,移除旧容器(避免端口或卷冲突):
    docker stop <容器名或ID>
    docker rm <容器名或ID>
    
  3. 启动新容器:使用新镜像启动容器,保留旧容器的配置(如端口映射-p、卷挂载-v):
    docker run -d --name <新容器名> -p <宿主机端口>:<容器端口> -v <宿主机目录>:<容器目录> <镜像名>:<标签>
    
  4. 验证新容器:检查容器状态及日志,确保运行正常:
    docker ps  # 查看容器是否运行
    docker logs <新容器名>  # 查看启动日志
    
  5. 自动化升级(可选):编写Shell脚本封装上述步骤,实现一键升级(如替换容器名、镜像名等参数)。

注意事项

0
看了该问题的人还看了