我正在运行centos 7并使用epel软件包在主机上安装了docker:
yum install epel-release yum install docker
但是docker版本是-Docker version 0.11.1-dev, build 02d20af/0.11.1
Docker version 0.11.1-dev, build 02d20af/0.11.1
Docker的最新稳定分支为1.2
我正在该主机上运行几个容器,那么如何在此主机上安全地更新Docker?
yum update docker不会更新到最新版本,因为epel repo具有旧软件包。
请注意,当前的Docker稳定版本实际上是1.3,而不是1.2。 请参阅Docker CHANGELOG以发现最新版本。
在升级Docker主机之前,您可能要备份一些拥有的Docker映像,尤其是从该docker commit命令发出的映像。为此,请查看docker export命令。您可能还想备份容器的卷。为此,请参阅有关数据量的Docker用户指南。
docker commit
一旦确定您拥有所有必要的备份,以最终重新开始,就可以继续升级Docker守护程序。
在CentOS 7的Docker安装指南中, 如果您需要最新版本, 建议从二进制文件安装docker 。我建议您按照这些说明安装最新的docker。 Docker现在通过yum软件包管理器提供更新。
yum
完成此操作后,使用docker images命令来验证您是否仍然拥有Docker映像并docker ps检查容器。如果缺少某些内容,请从备份中重新创建它们。
docker images
docker ps
如果您从自定义Dockerfiles创建了Docker映像,您还希望重建这些映像,以检查新Docker守护程序是否没有Dockerfile出现问题。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