在CentOS 7上升级docker

nmd*_*nmd 25 centos docker centos7

我正在运行centos 7并使用epel包在主机上安装了docker:

yum install epel-release
yum install docker
Run Code Online (Sandbox Code Playgroud)

但码头版本是 - Docker version 0.11.1-dev, build 02d20af/0.11.1

码头的最新稳定分支是1.2

我在这台主机上运行了几个容器,那么如何在这台主机上安全地更新docker?

由于epel repo具有旧包,yum update docker不会更新到最新版本.

Tho*_*eil 36

请注意,当前稳定版本的Docker实际上是1.3,而不是1.2.请参阅Docker CHANGELOG以发现最新版本.

在升级docker主机之前,您可能希望备份一些docker映像,特别是那些从docker commit命令发出的映像.为此,请查看docker export命令.您可能还想备份容器的卷.为此,请查看有关数据卷Docker用户指南.

一旦您确信自己拥有最终重新启动所需的所有备份,就可以继续升级Docker守护程序.

CentOS 7Docker安装指南中,如果你想要最新的,建议你从二进制文件安装docker .我建议您按照这些说明安装最新的docker. Docker现在通过yum包管理器提供更新.

完成后,使用该docker images命令验证您是否仍有Docker镜像并docker ps检查容器.如果缺少某些,请从备份中重新创建它们.

如果您从自定义Dockerfiles创建了docker镜像,您还需要重建这些镜像以检查没有Dockerfile与新Docker守护程序有问题.Docker 0.11.1和1.3之间存在很大差距,并且修复了新功能并将其添加到Dockerfiles语法中.


这里详细介绍了准备升级docker后要运行的命令:

# stop the docker service
$ sudo service docker stop

# download the latest docker binary and replace the current outdated docker
# DEPRECATED WAY TO UPGRADE DOCKER: $ sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker
$ sudo yum update docker-engine

# start the docker service
$ sudo service docker start

# check the version
$ sudo docker version

# check the images and containers
$ sudo docker images
$ sudo docker ps
$ sudo docker ps -a
Run Code Online (Sandbox Code Playgroud)

  • 我能够在没有丢失图像或容器的情况下升级CentOS 7上的docker.我用我用来升级docker的命令编辑了我的答案.请注意,您仍需要备份以防万一遇到困难. (2认同)

rms*_*sys 19

更新docker CentOS 7.4的更新

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux  docker-engine-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce


sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
Run Code Online (Sandbox Code Playgroud)

参考:

https://docs.docker.com/install/linux/docker-ce/centos/

  • 如果不确定,请勿使用此说明。您可能会失去在`yum install docker-ce`步骤上出错的docker:软件包:docker-ce-18.06.0.ce-3.el7.x86_64(docker-ce-stable)要求:container-selinux> = 2.9 (2认同)

Ehs*_*dar 8

尝试这些命令:

sudo yum update -y
Run Code Online (Sandbox Code Playgroud)

升级前停止docker

sudo service docker stop
sudo yum upgrade docker*
Run Code Online (Sandbox Code Playgroud)

重新开始

sudo service docker start
Run Code Online (Sandbox Code Playgroud)

检查版本

sudo docker version
Run Code Online (Sandbox Code Playgroud)