centos 7 升级Docker 与Docker-Compose
升级Docker
1 --先查看当前docker版本
(如果Running不为0说明有容器正在运行,使用命令:# docker stop 容器ID --停止应的容器
再使用命令# docker rm -f 容器ID --删除容器)
# docker info
2. --也可以使用这个命令查看docker版本当前为1.13.1 API版本为1.26
# docker version
3. -- 查找主机上关于Docker的软件包
# rpm -qa | grep docker
4. 使用yum remove卸载软件(每个人版本不一样,请自行替换yum remove 后面的文件名)
# yum remove docker-client-1.13.1-161.git64e9980.el7_8.x86_64 -y # yum remove docker-common-1.13.1-161.git64e9980.el7_8.x86_64 -y # yum remove docker-1.13.1-161.git64e9980.el7_8.x86_64 -y
5. --验证Docker是否被卸载了
# curl -fsSL https://get.docker.com/ | sh
7.重启Docker并设置Docker开机自启
# systemctl restart docker --安装完成以后重启Docker服务
# systemctl enable docker --设置Docker开机自启
8.查看升级后的版本:
# docker info
--Docker Server从之前的1.13.1升级到19.03.12(因为Docker改了版本命令方式19.03.12表是19年3月12号发布的版本,具体参考:https://www.jianshu.com/p/348dca0e314c)
# docker version
--可以看到API从1.26升级到了1.40
到此Docker升级完成。以下可以不用看了。
13.升级建议把系统重启一下reboot
另外 再用命令:
# rpm -qa | grep docker
发现升级到19.03.12以后没有docker-common这个程序了。
14.修改Docker服务添加证书,命令:# vim /usr/lib/systemd/system/docker.service
修改ExecStart行,增加内容 -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=/root/docker/ca.pem --tlscert=/root/docker/server-cert.pem --tlskey=/root/docker/server-key.pem
修改后如下:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=/root/docker/ca.pem --tlscert=/root/docker/server-cert.pem --tlskey=/root/docker/server-key.pem
重新加载docker配置
# systemctl daemon-reload // 1,加载docker守护线程
# systemctl restart docker // 2,重启docker
15.如果启动容器的时候报错:ERROR: for config Cannot start service config: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"write /proc/self/attr/keycreate: permission Starting registry ... error
CentOS 7以上解决方案:将 /etc/selinux/config 文件中 SELINUX值修改为disabled ,如下图
重启系统(注意这里是修改SELINUX而不是SELINUXTYPE别改错啦)()
升级docker-compose
1.# docker-compose version --查看当前版本
2.# pip uninstall docker-compose --卸载docker-compose
3.# pip install docker-compose --ignore-installed requests 安装docker-compose
安装时报错:You are using pip version 8.1.2, however version 20.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
使用命令#pip install --upgrade pip
以后再执行:pip install docker-compose --ignore-installed requests
4.# docker-compose version 查询 升级成功(由原来1.23.2升级到1.26.2)
按以上升级以后
docker-compose都可以用,但每次运行:docker-compose ps /docker-compose up -d
会先报一句警告:
/usr/lib64/python2.7/site-packages/cryptography/__init__.py:39: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release.
CryptographyDeprecationWarning,
欢迎加入JAVA技术交流QQ群:179945282
欢迎加入ASP.NET(C#)交流QQ群:17534377