在 CenTos/RHEL 上安装 Docker

在 CenTos/RHEL 上安装 Docker CE 的要求、建议和程序

客户咨询

Docker 17.x 的处理 cgroups 内核内存控制器 (kmem) 中的漏洞在 kmem 会计功能已激活时会导致整个系统不稳定。客户可能会注意到任务或命令无限期地卡住以及在系统日志中与内核相关的错误消息。强烈建议使用 RedHat 或 CentOS 的作为基本操作系统的 Mesosphere DC/OS 客户和社区成员使用 RedHat 的 Docker 1.13 分叉或 Docker CE/EE 18.09.1 或更高版本,两者均不受此程序错误的影响。

containerd.io 的 1.2.10-3.2 版本中引入了另一个 kmem 漏洞,该漏洞可能会影响任何版本的 Docker。强烈建议使用 RedHat 或 CentOS 作为其基本操作系统的 Mesosphere DC/OS 客户和社区成员避免使用此版本。

注意:有关 Docker 漏洞和缓解措施说明的更多具体详情见此处此处

要求和建议

确保 Docker 的 live-restore 设置已禁用. 在 Docker 配置文件中,应缺少此项或设置为 false。

在 CentOS/RHEL 上安装 Docker 之前,请先查看通用的 在 DC/OS 上运行 Docker 的要求和建议 以及下面特定于 CentOS/RHEL 的建议:

  • OverlayFS 现在是 Docker CE 中的默认值。无需另行指定或配置覆盖驱动程序。首选 OverlayFS 存储驱动程序。OverlayFS 避免已知问题 devicemapperloop-lvm 模式下发生,并在必要时允许容器使用 docker-in-docker。

  • 使用 ftype=1 选项将节点存储格式化为 XFS。对于 CentOS/RHEL 7.2,目前仅支持 XFS 用作较低层文件系统

  • 有关安装 Docker 的更详细分解,请参阅 Docker CE for CentOS 安装页

    注意:在新近的 Centos 和 RHEL 版本中,ftype=1 是默认值。可以使用 xfs_info 实用程序来验证 ftype=1.

    1. mkfs -t xfs -n ftype=1 /dev/sdc1

安装

RHEL 专用要求

必须注册订阅管理器,才能启用其他存储库。

按照 Docker [RHEL 特定安装说明] 3,记住上述客户咨询。

示例:在 CentOS 上安装 Docker

以下说明演示如何在 CentOS 7 上安装 Docker 。

  1. 卸载较新版本的 Docker(如果有):

    1. sudo yum remove docker-ce
  2. 安装 Docker:

    1. sudo yum install docker
  3. 启动 Docker:

    1. sudo systemctl start docker
  4. 验证 Docker 1.13 版本已安装:

    1. docker version --format '{{.Server.Version}}'

要继续设置 DC/OS,请跳转至高级安装工具

如需更多通用 Docker 要求,请参阅 系统要求:Docker