操作系统要求
卸载旧版本
docker
或docker-engine
。 如果这些已安装,请卸载它们以及关联的依赖关系。$ sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
如果yum
报告没有安装这些软件包,那么可以。
/var/lib/docker/
的内容,包括镜像,容器,卷和网络都被保留。 Docker CE包现在称为docker-ce
,Docker EE包现在称为docker-ee。
安装Docker
您可以根据需要以不同的方式安装Docker:
-
大多数用户设置了Docker的存储库并从中安装,以方便安装和升级任务。 这是推荐的方法。
-
某些用户下载RPM软件包并手动安装,并手动完成管理升级。 这在诸如在没有访问互联网的空中密码系统上安装Docker的情况下是有用的。
使用存储库安装
在新主机上首次安装Docker之前,需要设置Docker存储库。 之后,您可以从存储库安装和更新Docker。
设置存储库
Docker CE和Docker EE的存储库设置说明不同。
Docker CE
-
安装所需的软件包
yum-utils
提供了yum-config-manager
实用程序,device-mapper-persistent-data
和lvm2
是devicemapper
存储驱动程序所必需的。$ 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
3. 可选 :启用边缘存储库。 此存储库包含在上面的docker.repo
文件中,但默认情况下禁用。 您可以在稳定的存储库旁边启用它。
$ sudo yum-config-manager --enable docker-ce-edge
您可以通过运行带有--disable
标志的yum-config-manager
命令来禁用边缘存储--disable
。 要重新启用它,请使用--enable
标志。 以下命令禁用边缘存储库。
$ sudo yum-config-manager --disable docker-ce-edge
Docker EE
-
从
/etc/yum.repos.d/
中删除任何现有的Docker存储/etc/yum.repos.d/
。 -
将您的Docker EE存储库URL存储在
/etc/yum/vars/
中的yum
变量中。 将<DOCKER-EE-URL>
替换<DOCKER-EE-URL>
记下的URL。$ sudo sh -c 'echo "<DOCKER-EE-URL>" > /etc/yum/vars/dockerurl'
-
安装所需的软件包
yum-utils
提供了yum-config-manager
实用程序,device-mapper-persistent-data
和lvm2
是devicemapper
存储驱动程序所必需的。$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
使用以下命令添加稳定版本库:
$ sudo yum-config-manager --add-repo <DOCKER-EE-URL>/docker-ee.repo
安装Docker
-
更新
yum
包索引。$ sudo yum makecache fast
如果这是您第一次从添加Docker存储库后刷新包索引,系统将提示您接受GPG密钥,并显示密钥的指纹。 验证指纹是否正确,如果是,请接受该键。
Docker版 指纹 Docker CE 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Docker EE DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96
-
安装最新版本的Docker,或转到下一步安装特定版本。
Docker版 命令 Docker CE sudo yum install docker-ce
Docker EE sudo yum install docker-ee
警告 :如果启用了多个Docker存储库,则无需在
yum install
或yum update
命令中指定版本即可yum install
或yum update
将始终安装可能最高的版本,这可能不适合您的稳定性需求。 -
在生产系统上,您应该安装特定版本的Docker,而不是始终使用最新版本。 列出可用的版本。 此示例使用
sort -r
命令对结果进行排序,版本号由最高到最低,并被截断。注意 :这个
yum list
命令只显示二进制包。 要显示源程序包,请从程序包名称中省略.x86_64
。$ yum list docker-ce.x86_64 --showduplicates |sort -r docker-ce.x86_64 17.03.0.el7 docker-ce-stable
列表的内容取决于启用了哪些存储库,并且将特定于您的CentOS版本(在本示例中由版本的
.el7
后缀表示)。 选择要安装的特定版本。 第二列是版本字符串。 第三列是存储库名称,它指示软件包所在的存储库以及其稳定性级别。 要安装特定版本,请将版本字符串附加到包名称,并用连字符(-
)分隔:Docker版 命令 Docker CE sudo yum install docker-ce-<VERSION>
Docker EE sudo yum install docker-ee-<VERSION>
-
编辑
/etc/docker/daemon.json
。 如果还不存在,创建它。 假设文件为空,请添加以下内容。{ "storage-driver" : "devicemapper" }
-
对于生产系统,您必须使用
direct-lvm
模式,这需要您准备块设备。 在启动Docker之前,请遵循devicemapper存储驱动程序指南中的步骤 。 -
启动Docker。
$ sudo systemctl start docker
-
通过运行
hello-world
映像来验证docker
是否正确安装。$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。 当容器运行时,它打印一个信息消息并退出。
Docker已安装并运行。 您需要使用sudo
来运行Docker命令。 继续执行Linux安装后 ,允许非特权用户运行Docker命令和其他可选配置步骤。
升级Docker
要升级Docker,首先sudo yum makecache fast
运行sudo yum makecache fast
,然后按照安装说明 ,选择要安装的新版本。
从包装中安装
如果您不能使用Docker的存储库来安装Docker,则可以下载.rpm
文件并将其手动安装。 每次要升级Docker时,都需要下载一个新文件。
-
Docker CE和Docker EE的这一步骤是不同的。
-
Docker CE :转到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/并下载要安装的Docker版本的
.rpm
文件。注意 :要安装边缘包,请将> URL中的字
stable
更改为edge
。 了解稳定和边缘渠道 。 -
Docker EE :在浏览器中转到与您的试用或订阅相关联的Docker EE存储库URL。 转到
7/x86_64/stable-17.03/Packages/
并下载要安装的Docker版本的.rpm
文件。
-
-
安装Docker,将下面的路径更改为您下载Docker程序包的路径。
$ sudo yum install /path/to/package.rpm
-
编辑
/etc/docker/daemon.json
。 如果还不存在,创建它。 假设文件为空,请添加以下内容。{ "storage-driver" : "devicemapper" }
-
对于生产系统,您必须使用
direct-lvm
模式,这需要您准备块设备。 在启动Docker之前,请遵循devicemapper存储驱动程序指南中的步骤 。 -
启动Docker。
$ sudo systemctl start docker
-
通过运行
hello-world
映像来验证docker
是否正确安装。$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。 当容器运行时,它打印一个信息消息并退出。
Docker已安装并运行。您需要使用sudo
来运行Docker命令。继续执行Linux的安装后步骤,允许非特权用户运行Docker命令和其他可选配置步骤。
升级Docker
要升级Docker,请下载较新的软件包文件并重复安装过程 ,使用yum -y upgrade
而不是yum -y install
,并指向新文件。
卸载Docker
-
卸载Docker软件包:
Docker版 命令 Docker CE sudo yum remove docker-ce
Docker EE sudo yum remove docker-ee
-
主机上的图像,容器,卷或自定义配置文件不会自动删除。 删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
-
如果需要,删除
devicemapper
精简池并重新格式化作为其一部分的块设备。
您必须手动删除任何已编辑的配置文件。