搜索

第 7 章 构建容器镜像

download PDF

构建容器镜像涉及为容器化应用程序创建蓝图。蓝图依赖于其他公共存储库中的基础镜像,以定义如何安装和配置应用程序。

Red Hat Quay 支持构建 Docker 和 Podman 容器镜像的功能。此功能对于依赖容器和容器编配的开发人员和组织而言非常宝贵。

7.1. 构建上下文

使用 Docker 或 Podman 构建镜像时,将指定一个目录成为 构建上下文。对于手动构建和构建触发器,这也是如此,因为由 Red Hat Quay 创建的 Build 与在本地机器上运行 docker buildpodman build 不同。

Red Hat Quay Build 上下文始终在构建设置 的子目录 中指定,如果未指定目录,则回退到 Build 源的根目录。

触发构建时,Red Hat Quay Build worker 会将 Git 存储库克隆到 worker 机器,然后在执行构建前输入构建上下文。

对于基于 .tar 归档的构建,构建 worker 会提取存档并输入构建上下文。例如:

提取的构建存档

example
├── .git
├── Dockerfile
├── file
└── subdir
    └── Dockerfile

假设您 Extracted Build 存档 是目录结构获取名为 example 的 Github 存储库。如果在 Build 触发器设置中没有指定子目录,或者在手动启动构建时,构建将在示例目录中运行。

如果在 Build 触发器设置中指定子目录,如 subdir,则只有其中的 Dockerfile 可用于构建。这意味着您无法使用 Dockerfile 中的 ADD 命令来添加文件,因为它位于构建上下文之外。

与 Docker Hub 不同,Dockerfile 是 Red Hat Quay 上的构建上下文的一部分。因此,它不能出现在 .dockerignore 文件中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.