升级CentOS 7上的Docker

35

我正在运行CentOS 7,并使用EPEL软件包在主机上安装了Docker:

yum install epel-release
yum install docker

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

Docker的最新稳定分支版本为1.2。

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

yum update docker不会更新到最新版本,因为epel存储库中有旧的软件包。


以下是如何在CentOS 7上安装Docker 1.5的另一个答案:https://dev59.com/sojca4cB1Zd3GeqPy5ib - Be Kind To New Users
4个回答

47

更新以升级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

参考:

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


2
如果您不确定,请勿使用此指令。在yum install docker-ce步骤上出现错误可能会导致Docker丢失:包:docker-ce-18.06.0.ce-3.el7.x86_64(docker-ce-stable)要求:container-selinux> = 2.9 - SerG
这是我刚刚运行的命令,看起来似乎已经成功了: yum update docker-ce docker-ce-cli containerd.io - CPAR
1
这对我有用,而被采纳的答案则没有。 - Chagai Friedlander

40

注意当前稳定版本的Docker实际上是1.3,而不是1.2。请查看Docker CHANGELOG以了解最新版本。

在升级Docker宿主机之前,您可能需要备份一些Docker镜像,特别是那些来自docker commit命令的镜像。为此,请查看docker export命令。您可能还希望备份容器的数据卷,有关详细信息,请查看Docker数据卷用户指南

一旦您确信已经备份了所有必要的数据以进行全新的启动,就可以开始升级Docker守护程序了。

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

完成后,使用docker images命令验证是否仍具有Docker镜像,并使用docker ps检查容器。如果有任何缺失,请从备份中重新创建它们。

如果您从自定义Dockerfile创建了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

2
我成功地在CentOS 7上升级了Docker,而不会丢失镜像或容器。我编辑了我的答案,并附上了我用于升级Docker的命令。请注意,为了防止出现困难,您仍然需要备份。 - Thomasleveil
1
警告!!此答案将在CentOS上破坏Docker!最新文件是404错误!不要使用它! - user6253329
1
谢谢你的提醒!我已经编辑了我的答案,现在使用 yum 进行升级。 - Thomasleveil
@thomasleveil 请查看此链接 https://stackoverflow.com/questions/67942974/centos-8-how-to-update-docker-client - user1410223
<sudo yum update docker-engine> 这个命令无法识别。 <sudo yum upgrade docker*> 可以使用。 - Alexey Burnakov
显示剩余2条评论

8

尝试使用以下命令:

sudo yum update -y

升级前停止Docker

sudo service docker stop
sudo yum upgrade docker*

重新开始IT技术。
sudo service docker start

检查版本

sudo docker version

1
在开始之前,yum update -y 怎么样? - Abdennour TOUMI
这是个好主意 :) - Olive Hair

0

您可以使用以下方法之一安装Docker:

  • 使用仓库
  • 使用软件包文件
yum install -y yum-utils

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

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果被要求,请接受 GPG 密钥。

安装特定版本的命令如下:

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

所以您可以使用上面的命令,并按照 Docker 升级过程的安装说明进行操作。

或者

使用软件包下载进行安装步骤,请访问此链接:https://download.docker.com/linux/centos。然后选择您首选的 CentOS 版本。一旦找到所需 Docker 版本的.rpm 文件,导航至 x86 64/stable/Packages/。 因此,如果要使用软件包下载升级 Docker 而不是添加资源库,则可以使用 yum -y upgrade 并将其指向新文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接