跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 容器指南 / 获取容器
适用范围 SUSE Linux Enterprise Server 15 SP2

3 获取容器

本章提供获取容器映像的相关信息。

3.1 SUSE Linux Enterprise 基本映像

SUSE 提供了大量官方基本容器映像,您可以基于这些映像来构建自定义容器。每个 SLE 基本映像都包含一个不带内核的 SLE 版本。基本映像中包含的操作系统是不具有任何功能的空环境。

您可从 https://registry.suse.com 获取基本映像。有关 SUSE 注册表的信息,请参见第 3.3 节 “SUSE 注册表”。SUSE 注册表中的映像均为正式发布(生产)的版本以及 SLES 12 和 SLES 15 的 LTSS 版本。SUSE 注册表中的 SUSE Linux Enterprise 基本映像可接收安全更新,并涵盖在 SUSE 支持计划中。有关这些支持计划的详细信息,请参见第 4 章 “支持计划

3.2 SUSE 容器属性

SUSE 容器映像带有标识符,可帮助您选择满足您需求的适合映像。从储存库中提取容器映像并在其上运行 podman inspect 之后,便可访问下面列出的各个标识符。

3.2.1 储存库名称

储存库名称以产品名称开头,例如:suse/sle/(…​)opensuse/tumbleweed/(…​)caasp/(…​)。适用于所有服务包的 SLE 15 容器位于名称空间 suse/sle15 中。此规则也适用于 SLE 的未来版本(例如 suse/sle16)。但对于 SLE 12 而言,每个服务包都有一个独立的储存库名称,例如 suse/sle12sp3suse/sle12sp4suse/sle12sp5

3.2.2 标签

标签有助于识别映像。所有 SLE 容器映像标签均以 com.suse.<product>.<containername> 开头,后跟进一步的规范。openSUSE 容器映像可通过以 org.opencontainers 开头的标签来识别。

重要
重要:com.suse.sle.base 标签受到保护。

通过将每一层添加到基本映像,可使用派生映像中的标签重写基本容器中定义的标签。为了保护映像来源的相关信息,已将标签 com.suse.sle.base 添加到 SLE 容器映像。此标签会指出 SUSE 是相关映像的供应商。由于标签受到保护,它不会被基本映像的任何修改所重写。

与之相反,openSUSE 基本映像中的标签则并未受到保护。例如,org.opencontainers.image.title 始终包含最后添加层的标题。

下面是所有当前定义的标签的列表:

表 3.1︰ 当前定义的标签
必须由派生映像提供标签OCI 批注说明示例

org.​opencontainers.​image.​title com.​suse.​sle.​base.​title

org.​opencontainers.​image.​title

映像标题

SUSE Linux Enterprise 15 基本容器

org.​opencontainers.​image.​description com.​suse.​sle.​base.​description

org.​opencontainers.​image.​description

映像的简短说明

包含基于 SUSE Linux Enterprise 15 的容器最小环境的映像。

org.​opencontainers.​image.​version com.​suse.​sle.​base.​version

org.​opencontainers.​image.​version

映像版本

<codestream>.<sp>.​<cicnt>.<bldcnt> 15.0.4.2

org.​opencontainers.​image.​created com.​suse.​sle.​base.​created

org.​opencontainers.​image.​created

映像构建的时间戳

2018-07-27T14:12:30Z

org.​opencontainers.​image.​vendor com.​suse.​sle.​base.​vendor

org.​opencontainers.​image.​vendor

映像供应商

SUSE LLC

org.​opencontainers.​image.​url com.​suse.​sle.​base.​url

org.​opencontainers.​image.​url

更多信息

https://www.suse.com/products/server/

org.​openbuildservice.​disturl com.​suse.​sle.​base.​disturl

org.​openbuildservice.​disturl

映像 OBS URL

obs://build.suse.de/SUSE:SLE-15:​Update:CR/images/2951b67133​dd6384cacb2820317​4e030-sles15-image

org.​opensuse.​reference com.​suse.​sle.​base.​reference

org.​opensuse.​reference

指向此特定映像的参考。不得更改您使用 docker pull <ref.name> 命令获取的映像。

registry.suse.com/suse/sle15:4.2

3.2.3 标记

标记用于添加阐述性信息。与标签不同,标记可以自由定义。标记通常包含容器映像特定版本的相关信息。

如果某个标记存在于多个映像中,则将使用最新的映像。由映像维护者决定指派给容器映像的标记。

常规标记格式为:储存库名称: 映像版本规范(通常为版本号)。例如,SUSE Linux Enterprise Server 15 SP1 的最新发布映像的标记将为 suse/sle15:15.1

下表显示在 registry.suse.com 上找到的示例 SLE 容器映像标记。其中一些标记会定期更新,因此它们不会批注确切的映像版本,而是会充当占位符。定期更新的标记以粗体标示。

表 3.2︰ 当前使用的标记示例

储存库名称:Tag

说明

suse/sle12sp3: latest

SUSE Linux Enterprise 12 SP3 的最新发布映像。

suse/sle12sp3: 2.0.2

latest 相同。仅为向后兼容而保留。

suse/sle15: latest

SUSE Linux Enterprise 15 编码流的最新发布映像。在本例中,与 15.1 和 15.1.1.1 相同。

suse/sle15: 15.1

SLE 15 SP1 的最新发布映像。

suse/sle15: 15.1.1.1

与 15.1.1.0 相同,但包含一些更新的软件包。

suse/sle15: 15.1.1.0

第一个 SUSE Linux Enterprise 15 SP1 映像。

3.3 SUSE 注册表

官方 SUSE 注册表可从 https://registry.suse.com 获取。它包含经过测试和更新的 SUSE Linux Enterprise 和 SLES 基本容器映像。SUSE 注册表中的所有映像都要经历一个固定的维护过程。使用最新的安全修复定期更新映像。SUSE 注册表可以免费使用,同时还提供有额外功能,可通过在容器主机上的客户订阅获得这些功能。需要订阅容器映像才能收到更新。当前,SUSE 注册表没有 UI 或映像列表。

3.4 比较容器

container-diff 工具可用于分析和比较容器映像。container-diff 可根据多个不同准则检查映像,其中包括:

  • Docker 映像历史

  • 映像文件系统

  • DEB 软件包

  • RPM 软件包

  • PyPI 软件包

  • NPM 软件包

您可以检查单个映像,也可以在两个映像上执行 diff 操作。container-diff 支持位于本地 Docker 守护程序和远程注册表中的 Docker 映像。还可以结合 .tar.tar.gz.tgz 存档使用工具。

另一方面, container-diff 软件包属于 SUSE Linux Enterprise Server 15 SP2 Containers Module 的一部分。您也可以单独安装该软件包。有关安装该软件包的说明,请参见 container-diff 文档

3.5 本地注册表

3.5.1 Portus

Portus 是一种本地应用程序,可为 Docker 注册表提供图形界面和授权机制。有关 Portus 功能的详细说明,请参见 http://port.us.org/features.html

您可以使用标准 Docker 容器在 Kubernetes 群集内或在裸机上部署 Portus。有关部署选项以及如何在开发环境中开始使用 Portus 的说明,请参见 http://port.us.org/docs/deploy.html