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

7 获取容器

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

7.1 SUSE Linux Enterprise 基本映像

SUSE 提供了多个官方基本容器映像,您可以基于这些映像构建自定义容器。每个 SLE 基本映像提供一个具有外壳和软件包管理功能的最小环境。

您可从 https://registry.suse.com 获取基本映像。有关 SUSE 注册表的信息,请参见第 7.3 节 “SUSE 注册表”。SUSE 注册表中的基本映像都处于“正式发布”状态(也就是说,它们适合用于生产环境),并且是 SLES 12 和 SLES 15 的 LTSS 版本。SUSE 注册表中的 SUSE Linux Enterprise 基本映像会收到安全更新,并涵盖在 SUSE 支持计划中。有关这些支持计划的详细信息,请参见第 15 章 “兼容性和支持计划

7.2 SUSE 容器属性

SUSE 容器映像都有标识符,这些标识符提供有关这些映像的版本、来源和创建时间的信息。从软件源中提取容器映像并在其上运行 podman inspect 之后,便可访问下面列出的各个标识符。

7.2.1 软件源名称

软件源名称以产品名称开头,例如:suse/sle...opensuse/tumbleweed。适用于所有服务包的 SLE 15 容器位于软件源 suse/sle15 中。但对于 SLE 12,每个服务包都有一个单独的软件源名称,例如 suse/sles12sp3suse/sles12sp4suse/sles12sp5

7.2.2 标签

标签有助于识别映像。所有 SLE 容器映像标签均以 com.suse.PRODUCTCONTAINER_NAME 开头,后跟其他详细信息。容器映像还包含 org.opencontainers.image 标签。

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

org.opencontainers.image.titlecom.suse.sle.base.title
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.title

  • 说明:映像标题

  • 示例: SUSE Linux Enterprise 15 基本容器

org.opencontainers.image.descriptioncom.suse.sle.base.description
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.description

  • 说明:映像的简要说明

  • 示例: 包含基于 SUSE Linux Enterprise 15 的容器适用最小环境的映像

org.opencontainers.image.versioncom.suse.sle.base.version
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.version

  • 说明:映像版本 (MAJOR.SP.CICOUNT.BUILDCOUNT)

  • 示例: 15.0.4.2

org.opencontainers.image.createdcom.suse.sle.base.created
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.created

  • 说明:映像构建时戳

  • 示例: 2018-07-27T14:12:30Z

org.opencontainers.image.vendorcom.suse.sle.base.vendor
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.vendor

  • 说明:映像供应商

  • 示例: SUSE LLC

org.opencontainers.image.urlcom.suse.sle.base.url
  • 必须由派生映像提供:

  • OCI 表示法: org.opencontainers.image.url

  • 说明:附加信息

  • 示例: https://www.suse.com/products/server/

org.openbuildservice.disturlcom.suse.sle.base.disturl
  • 必须由派生映像提供:

  • OCI 表示法: org.openbuildservice.disturl

  • 说明:映像 OBS URL

  • 示例: obs://build.suse.de/SUSE:SLE-15:Update:CR/images/2951b67133dd6384cacb28203174e030-sles15-image

org.opensuse.referencecom.suse.sle.base.reference
  • 必须由派生映像提供:

  • OCI 表示法: org.opensuse.reference

  • 说明:指向映像的引用。切勿更改您使用 docker pull REF_NAME 获取的映像。

  • 示例: registry.suse.com/suse/sle15:4.2

7.2.3 标记

标记用于引用映像。标记是映像名称的组成部分。与标签不同,标记可以自由定义,通常用于表示版本号。

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

常规标记格式为:软件源名称: 映像版本规范(通常为版本号)。例如,SUSE Linux Enterprise Server 15 SP2 的最新发布映像的标记将为 suse/sle15:15.2

7.3 SUSE 注册表

官方 SUSE 注册表可从 https://registry.suse.com 获取。它包含经过测试和更新的 SUSE Linux Enterprise 基本容器映像。SUSE 注册表中的所有映像都要经历一个维护过程。构建的映像包含最新可用的更新和修复。SUSE 注册表的 Web 用户界面列出了一部分可用映像。

7.4 校验容器

通过 SUSE 注册表提供的映像签名储存在 Notary 中。您可以使用以下命令校验特定映像的签名:

docker trust inspect --pretty registry.suse.com/suseIMAGE:TAG

例如,docker trust inspect --pretty registry.suse.com/suse/sle15:latest 命令可校验最新 SLE15 基本映像的签名。

要在提取映像时自动校验该映像,请将环境变量 DOCKER_CONTENT_TRUST 设置为 1。例如:

env DOCKER_CONTENT_TRUST=1 docker pull registry.suse.com/suse/sle15:latest

7.5 比较容器

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 SP4 Containers 模块的一部分。您也可以单独安装该软件包。有关安装该软件包的说明,请参见 container-diff 文档