当前位置: 首页 > news >正文

【Docker】升级docker或者docker到docker-ce完全保留镜像和容器,不影响原容器使用方法

升级docker或者docker到docker-ce完全保留镜像和容器,不影响原容器使用方法

  • 一、介绍
    • 二、升级方法
  • 三、遇到问题说明

以下是我的使用场景,docker升级到docker-ce,但对于docker-ce升级也通用!亲测!

一、介绍

CentOS自带的docker是早期的版本,支持的功能比较少,而且已经没有人维护了。最新的版本存在于docker团队维护的版本,社区版本是docker-ce,企业版本是docker-ee。

由于默认CentOS自带的是早期的版本的docker,所以yum默认也是下旧的docker。

我当时没太在意,就正常使用,装了几个容器,并有数据在里面。

后来在拉取一个镜像时,报错:missing signature key,于是参考博文,需要升级docker。

那么如何升级docker并且不能丢失我的容器和数据呢?

二、升级方法

1. 首先先把服务停止了,不要直接卸载

systemctl stop docker

2. 重命名数据目录
把默认的docker目录改一下名称。

mv /var/lib/docker /var/lib/docker-bak

3. 删除服务
现在就可以安全地删除旧版本的docker服务了。

yum -y remove docker
yum -y remove docker-client
yum -y remove docker-common

或者使用

yum -y remove docker*

4. 安装docker-ce

yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce-18.06.3.ce-3.el7

切记:不要启动docker!!

5. 恢复数据目录

安装完docker-ce后,系统会创建新的docker目录,删除新的,如何把备份的改回docker名称。
切记:不要启动docker!!

rm -rf /var/lib/docker
mv /var/lib/docker-bak /var/lib/docker

6. 启动docker服务

systemctl start docker

三、遇到问题说明

如果直接启动docker服务的容器,会得到下面的报错信息。

Error response from daemon: Unknown runtime specified docker-runc

或者启动容器报错等。

需要针对容器里面的docker-runc改一下名称,用runc替换docker-runc。

grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

最后,重新启动docker

systemctl restart docker

再启动失败的容器问题已解决!

http://www.lryc.cn/news/265020.html

相关文章:

  • 22 3GPP在SHF频段基于中继的5G高速列车场景中的标准化
  • C语言之初识C语言
  • Modbus-TCP数据帧
  • linux搭建gitlab
  • GEM5 Garent CPU cache消息传递路径:1. NI部分
  • Java设计模式之单例模式以及如何防止通过反射破坏单例模式
  • python flask+vue实现前后端图片上传
  • centos7安装开源日志系统graylog5.1.2
  • 5G+云渲染技术:将如何快速推进XR和元宇宙?
  • 【leetcode234】回文链表Java代码讲解
  • 指标体系构建-02-从0开始,梳理数据指标体系
  • 高速视频采集卡设计方案:620-基于PCIe的高速视频采集卡
  • MyBatis:动态 SQL 标签
  • 福建农林大学 html +css + JavaScript 期末复习 -- 保姆级
  • 推箱子小游戏
  • Spring简介
  • 万德高科携手航天科技AIRIOT打造智慧能碳管理平台, 助力碳达峰碳中和
  • 金融软件开发的 4 大挑战
  • oppo 手机刷机流程
  • SQL---数据抽样
  • C 库函数 - strxfrm()
  • 选型前必看,CRM系统在线演示为什么重要?
  • 微软官宣放出一个「小模型」,仅2.7B参数,击败Llama2和Gemini Nano 2
  • 成为一名FPGA工程师:面试题与经验分享
  • 关于“Python”的核心知识点整理大全35
  • C++ opencv RGB三通道提升亮度
  • TCAX特效字幕保姆入门教程+效果演示+软件源码自取
  • 【C语言】自定义类型:结构体深入解析(二)结构体内存对齐宏offsetof计算偏移量结构体传参
  • 活动回顾 (上) | 2023 Meet TVM 系列活动完美收官
  • JMeter常见配置及常见问题修改