转载:https://www.cnblogs.com/q149072205
升级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)
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174217819-1715706866.png)
# docker version
--可以看到API从1.26升级到了1.40
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174158876-1880038006.png)
13.升级建议把系统重启一下reboot
另外 再用命令:
# rpm -qa | grep docker
发现升级到19.03.12以后没有docker-common这个程序了。
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174453812-480433776.png)
14.修改Docker服务添加证书,命令:# vim /usr/lib/systemd/system/docker.service
修改ExecStart
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174524978-2135000818.png)
重新加载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
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174558503-170292285.png)
CentOS 7以上解决方案:将 /etc/selinux/config 文件中 SELINUX值修改为disabled ,如下图
重启系统(注意这里是修改SELINUX而不是SELINUXTYPE别改错啦)()
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174611759-225345257.png)
升级docker-compose
1.# docker-compose version --查看当前版本
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174644747-663796175.png)
2.# pip uninstall docker-compose --卸载docker-compose
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174650543-88961916.png)
3.# pip install docker-compose --ignore-installed requests 安装docker-compose
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174726695-1368668626.png)
安装时报错: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.
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174753721-723540787.png)
使用命令#pip install --upgrade pip
以后再执行:pip install docker-compose --ignore-installed requests
4.# docker-compose version 查询 升级成功(由原来1.23.2升级到1.26.2)
![](https://img2020.cnblogs.com/blog/286958/202105/286958-20210520174758517-1232418400.png)
按以上升级以后
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,