安装 IBM® Cloud Private 的 Docker

IBM Cloud Private 需要 Docker。 必须在引导节点上手动安装 Docker。 您可以在其余的集群节点上手动安装 Docker,或者安装程序可以在已正确配置的主节点、工作程序节点、代理节点、可选管理节点和漏洞顾问程序 (VA) 节点上自动安装 Docker。

您必须在引导节点上手动安装 IBM Cloud Private 所支持的 Docker 版本。

您也可以在所有的集群节点上手动安装 Docker,或让 IBM Cloud Private 安装程序在集群节点上设置 Docker。 如果希望安装程序在集群节点上设置 Docker,可以在集群的安装过程中设置此配置。 请参阅配置集群节点以自动安装 Docker

有关受 IBM Cloud Private 支持的 Docker 版本列表,请参阅支持的 Docker 版本

手动安装 Docker

您可以安装提供的 IBM Cloud Private Docker 包,也可以从 Docker Web 站点安装 IBM Cloud Private 所支持的 Docker 版本。

使用提供的 IBM Cloud Private Docker 包手动安装 Docker

在希望在其上手动安装 Docker 的每个节点上完成以下步骤。

  1. 在节点上,确保将软件包管理器配置为允许软件包更新。 软件包管理器包括 RPM(适用于 RHEL)和 Apt(适用于 Ubuntu)。
  2. 下载适用于节点的 Docker 包。 请参阅IBM Cloud Private Docker 包
  3. 安装 Docker。

    • 对于 Linux® x86_64,请运行以下命令:

      chmod +x icp-docker-18.03.1_x86_64.bin
      sudo ./icp-docker-18.03.1_x86_64.bin --install
      
    • 对于 Linux® on Power® (ppc64le),请运行以下命令:

      chmod +x icp-docker-18.03.1_ppc64le.bin
      sudo ./icp-docker-18.03.1_ppc64le.bin --install
      
    • 对于 IBM® Z,请运行以下命令:

      chmod +x icp-docker-18.03.1_s390x.bin
      sudo ./icp-docker-18.03.1_s390x.bin --install
      

      :要卸载此 Docker 包,请在命令中将 --install 选项替换为 --uninstall 选项。

  4. 验证安装,请参阅验证安装

从 Docker Web 站点手动安装 Docker

在希望在其上手动安装 Docker 的每个节点上完成以下步骤。

  1. 安装 Docker。 注:您可能需要注册才能下载 Docker 程序包。
  2. 验证安装,请参阅验证安装

验证安装

  1. 确保 Docker 引擎已启动。 运行以下命令:

     sudo systemctl start docker
     sudo systemctl status docker
    
  2. 配置 Docker 引擎,请参阅配置 Docker 引擎

配置 Docker 引擎

  1. 如果要更改 Docker 缺省存储目录的位置,必须先配置新目录的绑定挂载,然后再安装 IBM Cloud Private。 请参阅为手动安装的 Docker 指定缺省 Docker 存储目录
  2. 设置 Docker 日志轮换。 这可减少因保留太多日志信息而导致的磁盘问题。 要设置日志轮换,请完成以下步骤:

    1. 您可以通过以下其中一种方法来配置日志轮换。

      • 使用 /lib/systemd/system/docker.service 文件配置日志轮换。 对于 ExecStart 参数,添加以下选项:

        --log-opt max-size=10m --log-opt max-file=10
        
      • 使用 /etc/docker/daemon.json 文件配置日志轮换。 将以下文本添加到文件:

        {
          "log-driver": "json-file",
          "log-opts": {
            "max-size": "10m"
            "max-file": "10"
          }
        }
        
    2. 请重新装入并重新启动 Docker

      sudo systemctl daemon-reload
      sudo systemctl restart docker
      
  3. 要从 IBM Cloud Private management console查看 Docker 容器和服务的日志,必须将缺省日志记录驱动程序设置为 json-file

    1. 查找 Docker 守护程序的缺省日志记录驱动程序。

      docker info|grep "Logging Driver"
      

      输出类似于以下代码:

      Logging Driver: journald
      
    2. 将 Docker 日志记录驱动程序配置为 json-file。 请参阅 https://docs.docker.com/engine/admin/logging/overview/#configure-the-default-logging-driver 在新选项卡中打开
    3. 验证缺省日志记录驱动程序是否已更新为 json-file

      systemctl daemon-reload
      systemctl start docker
      docker info|grep "Logging Driver"
      

      输出类似于以下代码:

      Logging Driver: json-file
      
  4. 如果要使用定制 docker.service 文件,请确保将 MountFlags 参数设置为“共享”,或者从 docker.service 文件中移除 MountFlags 参数。 有关手动创建 systemd 单元文件 docker.service 的更多信息,请参阅 https://docs.docker.com/engine/admin/systemd/#manually-creating-the-systemd-unit-files 在新选项卡中打开
  5. 对于 Red Hat Enterprise Linux (RHEL) 系统,请查看存储驱动器设置。 请参阅 体系结构和存储驱动器 在新选项卡中打开
  6. 确保没有为 Docker 启用 SELinux。

    1. 检查 SELinux 是否已启用。

      docker info  --format '{{json .SecurityOptions}}'
      

      如果 SELinux 已启用,输出将类似于以下代码:

      ["name=seccomp,profile=default","name=selinux"]
      
    2. 如果 SELinux 已启用,请从 Docker 服务文件中移除 --selinux-enable 设置并保存该文件。

      vim /lib/systemd/system/docker.service
      

      有关修改 Docker 守护程序配置文件的更多信息,请参阅 Daemon configuration file 在新选项卡中打开

    3. 应用更改

      systemctl daemon-reload
      
    4. 重新启动 Docker 守护程序。

      systemctl restart docker.service
      
    5. 验证 SELinux 是否已禁用。

      docker info  --format '{{json .SecurityOptions}}'
      

      如果 SELinux 已禁用,输出将类似于以下代码:

      ["name=apparmor","name=seccomp,profile=default"]