获取Docker Engine-适用于Red Hat Enterprise Linux的企业版
预计阅读时间: 16分钟有两种方法可以在Red Hat Enterprise Linux上安装和升级Docker Enterprise :
-
YUM存储库 :建立Docker存储库并从中安装Docker Engine-Enterprise。这是推荐的方法,因为安装和升级是使用YUM进行管理的,并且更容易实现。
-
RPM软件包 :下载RPM软件包,手动安装,并手动管理升级。在无法访问互联网的气密系统上安装Docker Engine-Enterprise时,此功能很有用。
Docker Engine-红帽企业版Linux 不支持社区。
先决条件
本节列出了在安装Docker Engine-Enterprise之前需要考虑的事项。下面说明需要采取措施的项目。
- 在
x86_64
上使用RHEL 64位7.4和更高版本。 - 使用存储驱动程序
overlay2
或devicemapper
(生产中的direct-lvm
模式)。 - 在Docker Hub上找到您的Docker Engine-Enterprise存储库的URL。
- 卸载旧版本的Docker。
- 从
/etc/yum.repos.d/
删除旧的Docker存储库。
注意:仅Docker Engine-Enterprise 17.06.xx支持IBM Z(
s390x
)。如果要在IBM Z系统上安装Docker,请在安装/升级之前禁用SELinux,并确保要安装Docker Engine-Enterprise17.06.xx。
架构和存储驱动程序
Docker Engine-Enterprise支持在x86_64
运行的Red Hat Enterprise Linux 64位,版本7.4及更高版本。有关详细信息,请参见兼容性列表 。
在Red Hat Enterprise Linux上,Docker Engine-Enterprise支持存储驱动程序, overlay2
和devicemapper
。在Docker Engine-Enterprise 17.06.2-ee-5及更高版本中,建议使用overlay2
存储驱动程序。适用以下限制:
-
OverlayFS :如果启用了
selinux
,则RHEL 7.4或更高版本支持overlay2
存储驱动程序。如果禁用了selinux
,则RHEL 7.2或更高版本以及内核版本3.10.0-693和更高版本均支持overlay2
。 -
设备映射器 :在使用
devicemapper
生产系统上,必须使用direct-lvm
模式,该模式需要一个或多个专用块设备。建议使用快速存储,例如固态媒体(SSD)。在按照存储指南正确配置之前,请勿启动Docker。
FIPS 140-2加密模块支持
联邦信息处理标准(FIPS)出版物140-2是美国联邦对加密模块的安全要求。
有了Docker Engine-Enterprise Basic许可证(版本18.03及更高版本),Docker在RHEL 7.3、7.4和7.5中提供了FIPS 140-2支持。这包括FIPS支持的加密模块。如果RHEL实施已启用了FIPS支持,则还将在Docker引擎中自动启用FIPS。如果您的RHEL实施中尚未启用FIPS支持,请访问Red Hat产品文档以获取有关如何启用它的说明。
要验证Linux内核中是否启用了FIPS-140-2模块,请确认文件/proc/sys/crypto/fips_enabled
包含1
。
$ cat /proc/sys/crypto/fips_enabled
1
注意: FIPS仅在Docker Engine Engine-Enterprise中受支持。UCP和DTR当前不支持FIPS-140-2。
您可以在非FIPS 140-2模式下的系统上覆盖FIPS 140-2符合性。请注意,这不会更改系统上的FIPS 140-2模式。要覆盖FIPS 140-2模式,请执行以下步骤。
创建一个名为/etc/systemd/system/docker.service.d/fips-module.conf
。添加以下内容:
[Service]
Environment="DOCKER_FIPS=1"
将Docker配置重新加载到systemd。
$ sudo systemctl守护进程重新加载
以root身份重新启动Docker服务。
$ sudo systemctl重新启动docker
要确认Docker在启用FIPS-140-2的情况下运行,请运行docker info
命令。
docker info --format {{.SecurityOptions}}
[name=selinux name=fips]
禁用FIPS-140-2
如果系统在操作系统上安装了FIPS 140-2加密模块,则可以禁用FIPS-140-2合规性。
要在Docker中禁用FIPS 140-2,但在操作系统中禁用,请在/etc/systemd/system/docker.service.d/fips-module.conf
设置值DOCKER_FIPS=0
。
将Docker配置重新加载到systemd。
$ sudo systemctl守护进程重新加载
以root身份重新启动Docker服务。
$ sudo systemctl重新启动docker
查找您的Docker引擎-企业仓库URL
要安装Docker Enterprise,您将需要与您的试用版或订阅相关联的Docker Enterprise存储库的URL:
- 转到https://hub.docker.com/my-content 。列出了您的所有订阅和试用版。
- 单击适用于Red Hat Enterprise Linux的Docker企业版的设置按钮。
- 从复制中复制URL, 然后粘贴此URL以下载您的版本并保存以供以后使用。
您将在以后的步骤中使用此URL创建一个名为DOCKERURL
的变量。
卸载旧的Docker版本
Docker Engine-Enterprise软件包称为docker-ee
。较旧的版本称为docker
或docker-engine
。卸载所有旧版本和关联的依赖项。/var/lib/docker/
被保留,包括映像,容器,卷和网络。
$ 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
回购安装和升级
使用从中安装Docker Engine-Enterprise(或任何软件)的存储库的优点是它提供了一定程度的自动化。基于RPM的发行版(例如Red Hat Enterprise Linux)使用称为YUM的工具,该工具与您的存储库一起使用来管理依赖关系并提供自动更新。
在IBM Z系统上安装Docker Engine-Enterprise 17.06.xx之前禁用SELinux
当前在IBM Z系统上不支持
selinux
。如果尝试在启用了selinux
的IBM Z系统上安装或升级Docker Engine-Enterprise,则会引发错误,即找不到container-selinux
软件包。禁用selinux
安装或在IBM Z. IBMž系统升级之前泊坞窗上支持泊坞窗引擎-企业版仅17.06.xx。
设置存储库
您只需要设置一次存储库,然后即可从存储库中安装Docker Engine-Enterprise ,并根据需要重复升级。
-
从
/etc/yum.repos.d/
删除现有的Docker存储库:$ sudo rm /etc/yum.repos.d/docker*.repo
-
将URL(您在上面复制的 )临时存储在环境变量中。在以下命令中,用您的URL替换
<DOCKER-EE-URL>
。会话结束时,此变量分配不会持久:$ export DOCKERURL="<DOCKER-EE-URL>"
-
将变量
DOCKERURL
的值(来自上一步)存储在/etc/yum/vars/
中的yum
变量中:$ sudo -E sh -c 'echo "$DOCKERURL/rhel" > /etc/yum/vars/dockerurl'
另外,将您的操作系统版本字符串存储在
/etc/yum/vars/dockerosversion
。大多数用户应使用7
或8
,但也可以使用从7.2
开始的更具体的次要版本。$ sudo sh -c 'echo "7" > /etc/yum/vars/dockerosversion'
-
安装所需的软件包:
yum-utils
提供yum-config-manager实用程序,并且devicemapper存储驱动程序需要device-mapper-persistent-data
和lvm2
:$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
-
启用
extras
RHEL存储库。这样可以确保访问docker-ee
所需的container-selinux
软件包。该存储库可能会因您的体系结构和云提供商而有所不同,因此在运行之前,请查看此步骤中的选项:
对于除 IBM Power 以外的所有体系结构:
$ sudo yum-config-manager --enable rhel-7-server-extras-rpms
仅对于IBM Power(小端):
$ sudo yum-config-manager --enable extras $ sudo subscription-manager repos --enable=rhel-7-for-power-le-extras-rpms $ sudo yum makecache fast $ sudo yum -y install container-selinux
根据云提供商的不同,您可能还需要启用另一个存储库:
对于AWS(其中
REGION
是一个文字, 并不代表你的机器在运行区域):$ sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
对于Azure:
$ sudo yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms
-
添加Docker Engine-企业稳定存储库:
$ sudo -E yum-config-manager \ --add-repo \ "$DOCKERURL/rhel/docker-ee.repo"
-
从
/etc/yum.repos.d/
删除现有的Docker存储库:$ sudo rm /etc/yum.repos.d/docker*.repo
-
将URL(您在上面复制的 )临时存储在环境变量中。在以下命令中,用您的URL替换
<DOCKER-EE-URL>
。会话结束时,此变量分配不会持久:$ export DOCKERURL="<DOCKER-EE-URL>"
-
将变量
DOCKERURL
的值(来自上一步)存储在/etc/yum/vars/
中的yum
变量中:$ sudo -E sh -c 'echo "$DOCKERURL/rhel" > /etc/yum/vars/dockerurl'
另外,将您的操作系统版本字符串存储在
/etc/yum/vars/dockerosversion
。大多数用户应使用8
,但您也可以使用更具体的次要版本。$ sudo sh -c 'echo "8" > /etc/yum/vars/dockerosversion'
-
安装所需的软件包:
yum-utils
提供yum-config-manager实用程序,并且devicemapper存储驱动程序需要device-mapper-persistent-data
和lvm2
:$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
-
添加Docker Engine-企业稳定存储库:
$ sudo -E yum-config-manager \ --add-repo \ "$DOCKERURL/rhel/docker-ee.repo"
从存储库安装
注意 :如果需要运行Docker Engine-Enterprise 2.0,请参阅以下说明:
-
安装最新的修补程序版本,或转到下一步以安装特定版本:
$ sudo yum -y install docker-ee docker-ee-cli containerd.io
如果提示您接受GPG密钥,请验证指纹是否与
77FE DA13 1A83 1D29 A418 D3E8 99E5 FF2E 7668 2BC9
,如果是,请接受它。 -
要安装特定版本的Docker Engine-Enterprise(在生产中推荐),请列出版本并安装:
一种。列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:
$ sudo yum list docker-ee --showduplicates | sort -r docker-ee.x86_64 19.03.ee.2-1.el7.rhel docker-ee-stable-18.09
返回的列表取决于您启用的存储库,并且特定于您的Red Hat Enterprise Linux版本(在此示例中以
.el7
表示)。b。通过它的完全限定的包名称,它是包名(安装特定版本
docker-ee
()加上版本串(第二列)开始在所述第一结肠:
),直至第一连字符,用连字符(分离-
)。例如docker-ee-18.09.1
。$ sudo yum -y install docker-ee-<VERSION_STRING> docker-ee-cli-<VERSION_STRING> containerd.io
例如,如果要安装18.09版本,请运行以下命令:
sudo yum-config-manager --enable docker-ee-stable-18.09
Docker已安装但尚未启动。
docker
组已创建,但没有用户添加到该组。 -
启动Docker:
如果使用
devicemapper
,请根据存储指南确保在启动Docker之前已正确配置它。$ sudo systemctl start docker
-
通过运行
hello-world
映像来验证是否正确安装了Docker Engine-Enterprise。此命令下载测试图像,在容器中运行它,打印参考消息,然后退出:$ sudo docker run hello-world
Docker Engine-Enterprise已安装并正在运行。使用
sudo
运行Docker命令。请参阅Linux后安装,以允许非特权用户运行Docker命令。
从存储库升级
软件包安装和升级
要手动安装Docker Enterprise,请下载适用于您的发行版的.rpm
文件。每次升级Docker Enterprise时,都需要下载一个新文件。
在IBM Z系统上安装Docker Engine-Enterprise 17.06.xx之前禁用SELinux
当前在IBM Z系统上不支持
selinux
。如果尝试在启用了selinux
的IBM Z系统上安装或升级Docker Engine-Enterprise,则会引发错误,即找不到container-selinux
软件包。禁用selinux
安装或在IBM Z. IBMž系统升级之前泊坞窗上支持泊坞窗引擎-企业版仅17.06.xx。
打包安装
-
启用
extras
RHEL存储库。这样可以确保访问docker-ee
所需的container-selinux
软件包:$ sudo yum-config-manager --enable rhel-7-server-extras-rpms
或者,从Red Hat手动获取该软件包。无法公开浏览此存储库。
-
转到与浏览器中的试用版或订阅相关联的Docker Engine-Enterprise存储库URL。转到
rhel/
。选择您的Red Hat Enterprise Linux版本,体系结构和Docker版本。从Packages
目录下载.rpm
文件。如果您对使用
7
目录下的软件包的selinux
遇到麻烦,请尝试选择特定于版本的目录,例如7.3
。 -
安装Docker Enterprise,将下面的路径更改为您下载Docker软件包的路径。
$ sudo yum install /path/to/package.rpm
Docker已安装但尚未启动。
docker
组已创建,但没有用户添加到该组。 -
启动Docker:
如果使用
devicemapper
,请根据存储指南确保在启动Docker之前已正确配置它。$ sudo systemctl start docker
-
通过运行
hello-world
映像来验证是否正确安装了Docker Engine-Enterprise。此命令下载测试图像,在容器中运行它,打印参考消息,然后退出:$ sudo docker run hello-world
Docker Engine-Enterprise已安装并正在运行。使用
sudo
运行Docker命令。请参阅Linux后安装,以允许非特权用户运行Docker命令。
-
转到与浏览器中的试用版或订阅相关联的Docker Engine-Enterprise存储库URL。转到
rhel/
。选择您的Red Hat Enterprise Linux版本,体系结构和Docker版本。从Packages
目录下载.rpm
文件。如果使用
8
目录下的软件包在selinux
遇到问题,请尝试选择特定于版本的目录。 -
安装Docker Enterprise,将下面的路径更改为您下载Docker软件包的路径。
$ sudo yum install /path/to/package.rpm
Docker已安装但尚未启动。
docker
组已创建,但没有用户添加到该组。 -
启动Docker:
如果使用
devicemapper
,请根据存储指南确保在启动Docker之前已正确配置它。$ sudo systemctl start docker
-
通过运行
hello-world
映像来验证是否正确安装了Docker Engine-Enterprise。此命令下载测试图像,在容器中运行它,打印参考消息,然后退出:$ sudo docker run hello-world
Docker Engine-Enterprise已安装并正在运行。使用
sudo
运行Docker命令。请参阅Linux后安装,以允许非特权用户运行Docker命令。
升级套餐
-
下载较新的软件包文件。
-
使用
yum -y upgrade
而不是yum -y install
重复安装过程 ,然后指向新文件。
卸载Docker Engine-Enterprise
-
卸载Docker Engine-Enterprise软件包:
$ sudo yum -y remove docker-ee
-
删除所有图像,容器和卷(因为它们不会自动从主机中删除):
$ sudo rm -rf /var/lib/docker
- 删除其他与Docker相关的资源:
$ sudo rm -rf /run/docker $ sudo rm -rf /var/run/docker $ sudo rm -rf /etc/docker
- 如果需要,请删除
devicemapper
精简池,然后重新格式化其中一部分的块设备。
您必须手动删除所有已编辑的配置文件。
下一步
-
继续阅读有关通用控制平面(UCP)和Docker Trusted Registry(DTR)的用户指南