获取用于 Red Hat Enterprise Linux 的 Docker EE

预计阅读时间: 4 分钟

如需开始在 Red Hat Enterprise Linux (RHEL) 上使用 Docker EE,请确保您满足先决条件,然后再安装 Docker

先决条件

RHEL 不支持 Docker 社区版 (Docker CE)。

Docker EE 镜像仓库 URL

如需安装 Docker 企业版 (Docker EE),您需要知道与您的试用版或订阅关联的 Docker EE 镜像仓库 URL。如需获取此信息,请执行下列操作:

  • 转至 https://store.docker.com/my-content
  • 选择获取详细信息/设置说明(位于适用于 Red Hat Enterprise Linux 的 Docker 企业版部分中)。
  • 从标记为复制并粘贴此 URL,以下载您的版本的字段中复制 URL。

看到占位符文本 <DOCKER-EE-URL> 时使用此 URL。

如需了解有关 Docker EE 的更多信息,请参阅 Docker 企业版

操作系统要求

如需安装 Docker EE,您需要运行在 x86 硬件平台上的 RHEL 7 64 位版本。

另外,您必须使用 devicemapper 存储驱动。在生产系统中,您必须使用 direct-lvm 模式,此模式需要一个或多个专用的块设备。推荐使用固态介质 (SSD) 等快速存储设备。

卸载旧版本

Docker 的早期版本称为 dockerdocker-engine。如果安装了这些版本,请卸载它们及关联的依赖资源。

$ sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine-selinux
                  docker-engine

如果 yum 报告未安装任何这些软件包,这表示情况正常。

将保留 /var/lib/docker/ 的内容,包括镜像、容器、存储卷和网络。Docker EE 软件包现在称为 docker-ee

安装 Docker EE

您可以通过不同方式安装 Docker EE,具体取决于您的需求:

  • 大多数用户设置 Docker 的镜像仓库并从中进行安装,从而可以轻松完成安装和升级任务。这是推荐方法。

  • 一些用户下载 RPM 软件包并手动进行安装,然后完全由手动管理升级。在某些情况(例如,在不能访问互联网的隔离系统中安装 Docker)下,这很有用。

使用镜像仓库进行安装

首次在新的主机上安装 Docker EE 之前,您需要设置 Docker 镜像仓库。然后,您可以从此镜像仓库安装和更新 Docker EE。

设置镜像仓库

  1. /etc/yum.repos.d/ 中删除任何现有 Docker 镜像仓库。

  2. /etc/yum/vars/ 中存储两个 yum 变量。

    • /etc/yum/vars/dockerurl 中存储您的 EE 镜像仓库 URL。将 <DOCKER-EE-URL> 替换为您在先决条件中记录的 URL。

      $ sudo sh -c 'echo "<DOCKER-EE-URL>" > /etc/yum/vars/dockerurl'
      
    • /etc/yum/vars/dockerosversion 中存储您的 RHEL 版本字符串。使用下表中相应的值。大多数用户应使用 7

      版本字符串 说明
      7 除非您有特定要求,否则应使用此版本。依赖库未锁定为特定版本,但请使用可用的最新版本。
      7.3 依赖库未锁定为 RHEL 7.3 的特定软件包。
      7.2 依赖库未锁定为 RHEL 7.2 的特定软件包。
      $ sudo sh -c 'echo "<VERSION-STRING>" > /etc/yum/vars/dockerosversion'
      
  3. 安装所需的软件包。yum-utils 提供了 yum-config-manager 实用程序,并且 devicemapper 存储驱动需要 device-mapper-persistent-datalvm2

      $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  4. 使用 extras RHEL 镜像仓库。这将确保可以访问 docker-ee 所需的 container-selinux 软件包。

     $ sudo yum-config-manager --enable rhel-7-server-extras-rpms
    

    根据云提供商,您还可能需要启用另一个镜像仓库。

    对于 AWS:

     $ sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
    

    REGION 在此处是文本,并且表示 您的机器所在的区域。

    对于 Azure:

    $ sudo yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms
    
  5. 使用下列命令添加 stable 镜像仓库:

     $ sudo yum-config-manager \
         --add-repo \
         <DOCKER-EE-URL>/docker-ee.repo
    

安装 Docker EE

  1. 更新 yum 软件包索引。

     $ sudo yum makecache fast
    

    如果这是自添加 Docker 镜像仓库以来您首次刷新软件包索引,系统将提示您接受 GPG 密钥,并且将显示此密钥的指纹。验证指纹是否匹配 DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96,并且如果匹配,可以接受该密钥。

  2. 安装最新版本的 Docker EE,或者转至下一步以安装特定版本。

      $ sudo yum -y install docker-ee
    
  3. 在生产系统中,您应该安装特定版本的 Docker EE,而不是始终使用最新版本。列出可用版本。此示例使用 sort -r 命令按版本号(从最高到最低)对结果进行排序,并且已被截断。

    :此 yum list 命令仅显示二进制软件包。如果还需要显示 源软件包,请从软件包名称中省略 .x86_64

    $ yum list docker-ee.x86_64  --showduplicates | sort -r
    
    docker-ee.x86_64  17.03.0.el7                               docker-ee-stable   
    

    此列表的内容取决于启用了哪些镜像仓库,并且将特定于您的 RHEL 版本(在本示例中,由版本中的 .el7 后缀表示)。选择一个特定版本进行安装。第二列为版本字符串。第三列为镜像仓库名称,它表示软件包来自哪个镜像仓库并按扩展其稳定性级别列出。如需安装特定版本,请将版本字符串附加到软件包名称,并使用连字符 (-) 分隔它们:

    $ sudo yum -y install docker-ee-<VERSION_STRING>
    
  4. 编辑 /etc/docker/daemon.json。如果它尚不存在,请进行创建。假定该文件为空,请添加下列内容。

      {
        "storage-driver":"devicemapper"
      }
    
  5. 对于生产系统,您必须使用 direct-lvm 模式,此模式要求您准备块设备。先按照 devicemapper 存储驱动指南 中的过程执行操作,然后再启动 Docker

  6. 启动 Docker。

      $ sudo systemctl start docker
    
  7. 验证是否正确安装了 Docker EE,方法是运行 hello-world 镜像。

      $ sudo docker run hello-world
    

    此命令将下载一个测试镜像并在容器中运行它。容器运行时,它将输出一条参考消息并退出。

Docker EE 已安装并且正在运行。您需要使用 sudo 运行 Docker 命令。继续执行 Linux 安装后步骤以允许非特权用户运行 Docker 命令,以及了解其他可选配置步骤。

升级 Docker EE

要升级 Docker EE,首先运行 sudo yum makecache fast,然后按照安装说明执行操作,并选择您要安装的新版本。

从软件包进行安装

如果您无法使用官方 Docker 镜像仓库安装 Docker EE,可以下载适用于您的版本的 .rpm 文件,并手动进行安装。每次要升级 Docker EE 时,您都需要下载一个新文件。

  1. 在浏览器中,转至与您的试用版或订阅关联的 Docker EE 镜像仓库 URL。转至 7/x86_64/stable-17.03/Packages 并下载适用于您要安装的 Docker 版本的 .rpm 文件。

    :如果您在使用 7 目录下的软件包时遇到了与 selinux 相关的问题,请尝试改为选择特定于版本的目录, 例如 7.3

  2. 安装 Docker EE,并将下面的路径更改为您下载 Docker 软件包的路径。

      $ sudo yum install /path/to/package.rpm
    
  3. 编辑 /etc/docker/daemon.json。如果它尚不存在,请进行创建。假定该文件为空,请添加下列内容。

      {
        "storage-driver":"devicemapper"
      }
    
  4. 对于生产系统,您必须使用 direct-lvm 模式,此模式要求您准备块设备。先按照 devicemapper 存储驱动指南 中的过程执行操作,然后再启动 Docker

  5. 启动 Docker。

      $ sudo systemctl start docker
    
  6. 验证是否正确安装了 Docker EE,方法是运行 hello-world 镜像。

      $ sudo docker run hello-world
    

    此命令将下载一个测试镜像并在容器中运行它。容器运行时,它将输出一条参考消息并退出。

Docker EE 已安装并且正在运行。您需要使用 sudo 运行 Docker 命令。继续执行 Linux 安装后步骤 以允许非特权用户运行 Docker 命令,以及了解其他可选配置步骤。

升级 Docker EE

要升级 Docker EE,请下载较新的软件包文件并重复安装过程,使用 yum -y upgrade 而不是 yum -y install 并指向新文件。

卸载 Docker EE

  1. 卸载 Docker EE 软件包:

     $ sudo yum -y remove docker-ee
    
  2. 主机上的镜像、容器、存储卷、或定制配置文件不会自动删除。如需删除所有镜像、容器和存储卷,请运行下列命令:

     $ sudo rm -rf /var/lib/docker
    
  3. 需要时,删除 devicemapper 精简池并重新格式化其包含的块设备。

您必须手动删除任何已编辑的配置文件。

后续步骤

要求, 安装文档, rhel, rpm, 安装, 卸载, 升级, 更新