怎么在终端升级docker的版本

我想在终端升级dockers的版本

展开
收起
武柳汽 2023-09-11 16:48:20 113 分享 版权
阿里云 AI 助理回答

要升级终端上的 Docker 版本,请根据您的具体需求和环境选择合适的操作步骤。以下是针对不同场景的详细指导:


1. 升级 Docker 到指定版本(如 17.03.1 或 1.12.3)

如果您需要将 Docker 升级到特定版本,例如 17.03.1 或 1.12.3,可以参考以下步骤:

步骤:

  1. 检查当前 Docker 版本
    在终端中运行以下命令,确认当前安装的 Docker 版本:

    docker --version
    
  2. 卸载旧版本 Docker
    如果已安装旧版本 Docker,请先卸载:

    sudo yum remove docker docker-common docker-selinux docker-engine
    
  3. 安装新版本 Docker
    根据目标版本下载并安装对应的 Docker 包。例如,安装 17.03.1 版本:

    sudo yum install docker-17.03.1
    

    或者安装 1.12.3 版本:

    sudo yum install docker-1.12.3
    
  4. 启动 Docker 服务
    安装完成后,启动 Docker 服务并设置开机自启:

    sudo systemctl start docker
    sudo systemctl enable docker
    
  5. 验证安装
    再次运行以下命令,确认 Docker 已成功升级:

    docker --version
    

2. 升级 Docker 至支持 GPU 的版本(如 19.03.5)

如果您的 Kubernetes 集群节点需要支持共享 GPU 功能,则需要将 Docker 升级至 19.03.5,并配置对应的 Nvidia-container-runtime

步骤:

  1. 下线节点
    在 Master 节点执行以下命令,将目标节点从集群中下线:

    kubectl drain <NODE_NAME> --ignore-daemonsets
    
  2. 暂停相关服务
    暂停 kubelet 和 Docker 服务:

    sudo systemctl stop kubelet
    sudo systemctl stop docker
    
  3. 卸载旧版 Docker 和 Nvidia-container-runtime
    卸载现有 Docker 和相关组件:

    sudo yum remove docker docker-common docker-selinux docker-engine nvidia-container-runtime
    
  4. 备份并移除配置文件
    备份并移除 /etc/docker/daemon.json 文件:

    sudo mv /etc/docker/daemon.json /tmp/daemon.json.bak
    
  5. 安装新版 Docker 和 Nvidia-container-runtime
    安装 Docker 19.03.5 和对应的 Nvidia-container-runtime

    sudo yum install docker-19.03.5
    sudo yum install nvidia-container-runtime
    
  6. 配置 daemon.json
    创建或更新 /etc/docker/daemon.json 文件,添加以下内容:

    {
     "default-runtime": "nvidia",
     "runtimes": {
       "nvidia": {
         "path": "/usr/bin/nvidia-container-runtime",
         "runtimeArgs": []
       }
     },
     "exec-opts": ["native.cgroupdriver=systemd"],
     "log-driver": "json-file",
     "log-opts": {
       "max-size": "100m",
       "max-file": "10"
     },
     "bip": "169.254.123.1/24",
     "oom-score-adjust": -1000,
     "storage-driver": "overlay2",
     "storage-opts": ["overlay2.override_kernel_check=true"],
     "live-restore": true
    }
    
  7. 启动服务
    启动 Docker 和 kubelet 服务:

    sudo systemctl start docker
    sudo systemctl start kubelet
    
  8. 上线节点
    将节点重新上线:

    kubectl uncordon <NODE_NAME>
    
  9. 重启 GPU 安装程序
    在该 GPU 节点上重新启动 GPU 安装程序:

    sudo docker ps | grep cgpu-installer | awk '{print $1}' | xargs docker rm -f
    

3. 注意事项

  • API 变更:如果您使用的是 Kubernetes 1.22 及以上版本,请注意 Dockershim 已被废弃,建议迁移到 containerd
  • 兼容性检查:在升级前,请确保新版本 Docker 与现有系统和应用兼容。
  • 备份数据:升级前务必备份重要数据,避免因升级导致数据丢失。

通过上述步骤,您可以顺利完成 Docker 的版本升级。如果有其他问题或需要进一步帮助,请随时联系技术支持团队。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

还有其他疑问?
咨询AI助理