低版本docker升级高版本docker详细教程成功避坑(代码片段)

互联网-小阿宇 互联网-小阿宇     2022-12-05     183

关键词:

🎈 作者:互联网-小啊宇

🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护等领域。
🎈 博客首页:CSDN【互联网-小阿宇】阿里云【互联网-小阿宇】
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


🔥低版本Docker升级高版本Docker【详细教程、成功避坑】🔥


操作系统服务
Centos7Docker

⭐安装低版本Docker

由于Centos7自带的yum源中的Docker版本过低,先安装默认的版本

yum -y install docker

🍒查看Docker版本

[root@Ayu ~]# docker --version
Docker version 1.13.1, build 7d71120/1.13.1

🍒宿主机创建挂载目录

mkdir -p /test/nginx
cd /test/nginx && mkdir a b c d

🍒下载镜像并创建容器

docker pull nginx
docker run -itd -v /test/nginx:/test/nginx -p 80:80 --name nginx nginx

🍒登录容器查看映射

docker exec -it nginx bash
root@daea0c2b307b:/# cd /test/nginx
root@daea0c2b307b:/test/nginx# ls
a  b  c  d

🍒访问测试

⭐在升级前确定几个重点:

🍒1.原配置文件备份一下

[root@localhost ~]# cat /usr/lib/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=docker-cleanup.timer

[Service]
Type=notify
NotifyAccess=main
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \\
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \\
          --default-runtime=docker-runc \\
          --exec-opt native.cgroupdriver=systemd \\
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \\
          --init-path=/usr/libexec/docker/docker-init-current \\
          --seccomp-profile=/etc/docker/seccomp.json \\
          $OPTIONS \\
          $DOCKER_STORAGE_OPTIONS \\
          $DOCKER_NETWORK_OPTIONS \\
          $ADD_REGISTRY \\
          $BLOCK_REGISTRY \\
          $INSECURE_REGISTRY \\
	  $REGISTRIES
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
KillMode=process

[Install]
WantedBy=multi-user.target

🍒2.清楚知道Docker的存储目录在哪里

默认目录:/var/lib/docker

⭐进行升级高版本docker

🍒将低版本Docker卸载

不删除 /var/lib/docker 目录 就不会删除已安装的镜像及容器

[root@localhost docker]# yum list installed | grep docker
docker.x86_64                       2:1.13.1-209.git7d71120.el7.centos @extras  
docker-client.x86_64                2:1.13.1-209.git7d71120.el7.centos @extras  
docker-common.x86_64                2:1.13.1-209.git7d71120.el7.centos @extras  
[root@localhost ~]# yum -y remove docker*

🍒 安装yum管理工具

yum install -y yum-utils

🍒 添加国内镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

🍒 查看软件版本

yum list docker-ce --showduplicates|sort -r

docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable

🍒安装指定版本的docker

yum -y install docker-ce-18.03.1.ce-1.el7.centos
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker --version
Docker version 18.03.1-ce, build 9ee9f40

🍒查看容器和镜像依然存在

🍒启动容器测试:

报错①Error response from daemon: Unknown runtime specified docker-runc

这是因为低版本升级到高版本之后不兼容 修改参数进行解决

报错①解决方法:

更改/var/lib/docker/containers目录中的文件参数,把docker-runc替换为runc

命令:

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

注:grep -rl:递归搜索目录和子目录,只列出含有匹配的文本行的文件名,而不显示具体的匹配内容
xargs:衔接执行之前得到的值

总体意思是把/var/lib/docker/containers中含有‘docker-runc’的文件搜索出来,并把‘docker-runc’字符为runc

重新启动docker

systemctl restart docker

报错②Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/09f8444f734ca18130ac4e2dafdcd3a19dd2986c9474bd0a50c87c0af559a831/merged: invalid argument

报错②解决方法:

解决方案无非是SELINUX要么都关闭,要么都开启

推荐修改CentOS下的/etc/selinux/config 将SELINUX=disabled 改成 SELINUX=permissive

vi /etc/selinux/config
# 找到SELINUX=enable修改为SELINUX=permissive
SELINUX=permissive
# 保存
:wq

或者修改docker关闭selinux

vi /etc/sysconfig/docker
# 找到OPTIONS="--selinux-enabled --log-driver=journald --signature-verification=false"
# 删除 --selinux-enabled
OPTIONS="--log-driver=journald --signature-verification=false"
# 保存
:wq

另外docker-18.03已经废弃使用overlay1了,overlay2存储才是今后所支持的,因此不建议按照网上某文章的教程那样将docker的存储驱动改回overlay1。改回overlay1的方式只是治标不治本,正解是修改selinux配置。

🍒启动容器进行测试


至此低版本Docker升级高版本Docker完美结束~!

docker最新版本升级(代码片段)

文章目录前言一、卸载低版本docker1.1检查docker版本1.2删除docker二、开始安装2.1安装所需依赖2.2设置dockeryum源2.3查看所有可用版本2.4安装Docker三、启动Docker3.1启动docker服务、设置开机自启3.2重启机器测试3.3修改国内源总结前言请各... 查看详情

docker最新超详细教程——安装与部署(代码片段)

...的使用1.通过命令启动docker2.输入命令,可以查看docker版本 3. 配置镜像加速完整docker镜像加速配置 Docker最新超详细教程——Docker的基本操作Docker最新超详细教程——安装与部署安装DockerDocker分为CE和EE两大版本。CE即社区版&... 查看详情

docker——安装部署(代码片段)

...bsp;前言从2017年3月开始docker在原来的基础上分为两个分支版本:DockerCE和DockerEE。DockerCE即社区免费版,DockerEE即企业版,强调安全,但需付费使用。Docker官方要求要CentOS7.0及以上系统版本,本文介绍DockerCE在CentOS下的安装使用。&nbs... 查看详情

docker版本升级(代码片段)

docker的版本变化:Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月,有点类似于ubuntu的版本发布方式。企业版自然会提供一些额外的服务,当然肯定也是收费的。企业... 查看详情

docker版本升级(代码片段)

1、查看系统要求Docker要求CentOS系统的内核版本高于3.10,查看CentOS的内核版本。uname -a2、删除旧版本yum remove docker  docker-common docker-selinux docker-engine3、安装需要的软件包yum-util提供yum-config-manager功能,另外两个是devicemapper... 查看详情

docker版本升级(代码片段)

1、查看系统要求Docker要求CentOS系统的内核版本高于3.10,查看CentOS的内核版本。uname -a2、删除旧版本yum remove docker  docker-common docker-selinux docker-engine3、安装需要的软件包yum-util提供yum-config-manager功能,另外两个是devicemapper... 查看详情

centos6.7安装docker1.7.1

...势必要升级内核。但是想要在Centos6.7上安装可以安装较低版本的Docker。事实上,对于内核版本要大于3.10这个要求,是从Docker1.8.2版本开始的,Docker之前的版本是可以运行在较低内核版本之上的,比如1.7.1。安装 查看详情

centos7安装docker

两种安装方式,一种是直接通过yum安装,对应的版本较低;另一种方法是下载新版本安装1、yum安装低版本docker[root@Server1~]# yum-yinstalldocker[root@Server1~]# docker--versionDockerversion1.13.1,build4ef4b30/1.13.1 2、安装高版本docker安装... 查看详情

如何将 docker-compose 升级到最新版本

】如何将docker-compose升级到最新版本【英文标题】:Howtoupgradedocker-composetolatestversion【发布时间】:2018-09-2502:44:11【问题描述】:我已经使用命令安装了docker-composesudoaptinstalldocker-compose它安装了docker-compose1.8.0版并构建未知我需要... 查看详情

vivado低版本的bd设计能否升级到高版本?

参考技术A可以升级,updateIP核设计 查看详情

docker部署springcloud项目详细步骤

...添加如下内容:使环境变量生效测试安装(1)查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核)(2)更新yum包:(3)添加yum仓库:(4)安装Docker(5)启动Docker(6)配置docker远程访问... 查看详情

docker主机升级到4.9版本内核,使用overlayfs取代devicemapper

...于之前运行Docker系统了几台机器很久一直没有更新,docker版本为1.9.1。使用的docker存储驱动为Devicemapper。本次需要更新Docker的管理平台,索性也就将底层的docker版本也升级到新版,并更改Devicemapper为overlayfs。由于操作系统是CentOSL... 查看详情

升级docker并构建自己的app(代码片段)

现在docker已经升级了很多版本了,而我目前的docker版本仍然是1.12.5,比较老的版本,所以现在我们需要升级我们的docker版本,首先是如何查看我们系统中的docker版本呢?运行命令docker--version即可查看。(一... 查看详情

centos7docker升级到最新稳定版本(代码片段)

原文:centos7docker升级到最新稳定版本一、前言  docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插... 查看详情

docker中jenkins启动无法安装插件,版本过低

...示安装失败且从log看到提示信息显示为需要升级jenkins的版本    二、原因分析:  在使用docker拉取jenkins镜像时没有拉取最新的jenkins版本,而老的2.60.3版本的jenkins确实是存在无法安装插件的问题  查看自己所拉取... 查看详情

怎么将低版本的cad转换成高版本

怎么将低版本的CAD转换成高版本?就是在我们日常的工作中,每天最常见的就是CAD格式的图纸,但是有的时候在网上查找的CAD图纸,在进行打开的时候发现打不开,那就是因为CAD文件的版本太低,导致在较高的CAD编辑器中打不开... 查看详情

docker教程-1-学习及安装docker(代码片段)

...1.3 Docker特点1.4 Docker的应用场景1.5 Docker的优势2、Docker版本及安装要求2.1Docker版本介绍2.2Docker安装要求3、Docker的核心概念3.1 Docker引擎3.2Docker的组成4、LinuxUbuntu 安装Docker4.1查看系统当前的内核版本4.2安装依赖软件4.3 卸载apt官... 查看详情

001-docker安装nginxmysql

...系统配置要求  操作系统:64位操作系统和3.10或者更高版本的内核:uname-r  Docker-v1.12及更高版本  DockerCompose-v1.8及更高版本2、更新系统  yumupdate3、安装yuminstalldockeryuminstallpython-pippipinstalldocker-compose4、基本docker命令查... 查看详情