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

2 构建容器

本章提供了用于创建容器的工具的概述。下文提到的大部分工具都包含在 SUSE Linux Enterprise Server 15 SP2 Containers Module 中。您可以在 SUSE Customer CenterContainers Module 中查看完整的软件包列表。

2.1 客户可使用的构建工具

2.1.1 Docker

Docker 是一个用于创建和管理容器的系统。其核心是 Docker 开源引擎,这是一种轻量级虚拟化解决方案,可在单台主机上同时运行多个容器。Docker 容器使用 Dockerfile 进行定义。Dockerfile 说明如何汇编容器的私用文件系统。该文件还包含说明如何运行容器的元数据。大部分 Dockerfile 从父映像启动。有关如何创建自定义 SUSE Linux Enterprise Docker 基本映像的简要说明,请参见容器指南

2.1.2 Podman

Podman 是 Pod Manager 工具的简称,其功能不仅仅只是构建映像。它是一个无守护程序的容器引擎,用于在 Linux 系统上开发、管理和运行 Open Containers Initiative (OCI),可作为 Docker 的直接替代方案。Podman 是 openSUSE Kubic(基于 openSUSE 构建的 Kubernetes 认证发行套件)中的默认容器运行时。您可以使用 Podman 通过 Dockerfile 和一系列与 Docker 类似的命令来创建符合 OCI 规范的容器映像。例如,除了不使用 Docker 守护程序外,podman build 命令所执行的任务与 docker build 完全相同。Podman 的另一项重要功能是无根容器构建。由于 Podman 依赖于用户名称空间(用于为 Linux 进程提供隔离机制),因此无需 root 特权便能创建和运行容器。

有关如何安装和使用 Podman 的说明,请参见 Podman 文档

2.1.3 Buildah

Buildah 可帮助您构建 OCI 容器映像。Buildah 是 Podman 的互补工具(请参见第 2.1.2 节 “Podman”),podman build 使用它来执行容器映像构建。Buildah 可让您从头开始构建映像,也可使用 Dockerfile 从现有映像构建映像。使用 Buildah 命令行工具和基于 OCI 的底层技术(例如 containers/imagecontainers/storage)构建的 OCI 映像具有可移植性,因此可以在 Docker 环境中运行。

有关如何安装和使用 Buildah 的说明,请参见 Buildah 文档教程

2.2 内部 SUSE 构建工具

2.2.1 Open Build Service

Open Build Service (OBS) 提供了免费的基础结构,可用于构建和储存 RPM 软件包(包括各种容器格式)。OBS 容器注册表提供由 OBS 构建的所有容器映像的详细列表,使用命令完成将映像提取到您的本地 Docker 环境的操作。您可以根据特定需求修改 OBS openSUSE 容器映像模板,这是创建您自己的容器分支的最简单方法。您可以使用 Dockerfile 通过本机 Docker 工具从现有映像构建容器映像。也可以使用 KIWI 映像构建解决方案从头开始构建映像。

https://openbuildservice.org/2018/05/09/container-building-and-distribution/ 上提供了有关如何在 OBS 上构建映像的说明。

2.2.2 KIWI

KIWI Next Generation 是一种用于构建映像的多功能工具。除容器映像、常规安装 ISO 映像以及适用于虚拟机的映像之外,KIWI 还可构建通过 PXE 或 Vagrant 盒子引导的映像。KIWI 中的主要构建基块是映像 XML 描述,一个包含 config.xml.kiwi 文件以及脚本或配置数据的目录。使用 KIWI 创建映像的过程是完全自动化的,不需要任何用户交互。映像创建过程所需的任何信息由主要配置文件 config.xml 提供。可以使用 config.shimages.sh 脚本自定义映像。

注意
注意

请务必区分 KIWI NG(当前版本 9.20.9)及其不再维护的旧版本(7.x.x 或更早版本,现在称为 KIWI 旧版)。

有关如何安装 KIWI 以及使用 KIWI 构建映像的特定信息,请参见 KIWI 文档KIWI GitHub 储存库上提供了一系列示例映像描述。

KIWI 手册页提供了使用该工具的相关信息。要访问手册页,请安装 kiwi-man-pages 软件包。

2.3 构建官方 SLE 映像

只有使用内部构建服务构建的映像才会被视为官方映像。

https://build.opensuse.org 上未提供官方 SLE 容器映像,从该网站导出的 RPM 与内部 RPM 并不相同。这意味着无法在 https://build.opensuse.org 上构建官方支持的映像。