获取适用于 SLES 的 Docker EE

预计阅读时间: 4 分钟

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

先决条件

Docker EE URL

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

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

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

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

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

操作系统要求

如需安装 Docker EE,您需要 64 位版本的 SLES 12.x。OpenSUSE 不支持 Docker EE。

SLES 上 Docker EE 唯一支持的存储驱动为 btrfs,如果托管 /var/lib/docker/ 的底层文件系统是 BTRFS 文件系统,默认情况下将使用此存储驱动。

卸载旧版本

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

$ sudo zypper rm docker docker-engine

如果删除 docker-engine 软件包失败,请改为使用以下命令:

$ sudo rpm -e docker-engine

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

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

配置 btrfs 文件系统

默认情况下,SLES 会使用 BTRFS 格式化 / 文件系统。如果托管 /var/lib/docker/ 的文件系统不是 BTRFS 文件系统,您必须配置 BTRFS 文件系统并将其挂载在 /var/lib/docker/ 上:

  1. 将您的一个或多个专用块设备格式化为 Btrfs 文件系统。此示例假定您使用的是名为 /dev/xvdf/dev/xvdg 的两个块设备。仔细检查块设备名称,因为这是一项破坏性操作。

     $ sudo mkfs.btrfs -f /dev/xvdf /dev/xvdg
    

    有许多用于 Btrfs 的选项,包括剥离和 RAID。请参阅 Btrfs 文档

  2. /var/lib/docker/ 挂载点挂载新的 Btrfs 文件系统。您可以指定任何用于创建 Btrfs 文件系统的块设备。

     $ sudo mount -t btrfs /dev/xvdf /var/lib/docker
    

    请不要忘记通过向 /etc/fstab 中添加条目使更改在重启后永久生效。

安装 Docker EE

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

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

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

使用镜像仓库进行安装

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

设置镜像仓库

  1. 通过使用您在先决条件中找到的 Docker EE 镜像仓库 URL,使用以下命令设置 stable 镜像仓库。

     $ sudo zypper addrepo \
         <DOCKER-EE-URL>/12.3/x86_64/stable-17.03 \
         docker-ee-stable
    
  2. 从镜像仓库中导入 GPG 密钥。

     $ sudo rpm --import <DOCKER-EE-URL/gpg
    

安装 Docker EE

  1. 更新 zypper 软件包索引。

     $ sudo zypper refresh
    

    如果这是自添加 Docker 镜像仓库以来您首次刷新软件包索引,系统将提示您接受 GPG 密钥,并且将显示此密钥的指纹。验证指纹是否匹配 77FE DA13 1A83 1D29 A418 D3E8 99E5 FF2E 7668 2BC9,并且如果匹配,可以接受该密钥。

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

     $ sudo zypper install docker-ee
    

    启动 Docker:

     $ sudo service docker start
    
  3. 在生产系统中,您应该安装特定版本的 Docker EE,而不是始终使用最新版本。列出可用版本。以下示例仅列出了二进制软件包并且被截断。如果还需列出源软件包,请从命令中省略 -t package 标志。

     $ zypper search -s --match-exact -t package docker-ee
    
       Loading repository data...
       Reading installed packages...
    
       S | Name          | Type    | Version                               | Arch   | Repository    
       --+---------------+---------+---------------------------------------+--------+---------------
         | docker-ee     | package | 17.03-1                 | x86_64 | docker-ee-stable
    

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

     $ sudo zypper install docker-ee-<VERSION_STRING>
    
  4. 将 Docker EE 配置为使用 btrfs 文件系统。仅当 / 文件系统不使用 BTRFS 时,此内容才是必需的。但是,明确指定 storage-driver 不会产生任何有害的副作用。

    编辑文件 /etc/docker/daemon.json(如果它不存在,请进行创建)并添加以下内容:

     {
       "storage-driver": "btrfs"
     }
    

    保存并关闭文件。

  5. 启动 Docker:

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

     $ sudo docker run hello-world
    

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

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

升级 Docker EE

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

从软件包进行安装

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

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

  2. 导入 Docker 的官方 GPG 密钥:

     $ sudo rpm --import <DOCKER-EE-URL>/gpg
    
  3. 安装 Docker EE,并将下面的路径更改为您下载 Docker 软件包的路径。

     $ sudo zypper install /path/to/package.rpm
    
  4. 将 Docker EE 配置为使用 btrfs 文件系统。仅当 / 文件系统不使用 BTRFS 时,此内容才是必需的。但是,明确指定 storage-driver 不会产生任何有害的副作用。

    编辑文件 /etc/docker/daemon.json(如果它不存在,请进行创建)并添加以下内容:

     {
       "storage-driver": "btrfs"
     }
    

    保存并关闭文件。

  5. 启动 Docker:

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

     $ sudo docker run hello-world
    

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

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

升级 Docker EE

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

卸载 Docker EE

  1. 使用以下命令卸载 Docker EE 软件包。

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

     $ sudo rm -rf /var/lib/docker/*
    

    如果您使用单独的 BTRFS 文件系统托管 /var/lib/docker/ 的内容,可以取消挂载 btrfs 文件系统并对其进行格式化。

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

后续步骤

要求, apt, 安装文档, suse, opensuse, sles, rpm, 安装, 卸载, 升级, 更新