Docker 镜像
本页概述了 Apache Ozone 社区为开发和测试 Ozone 而维护的 Docker 镜像,并介绍了修改这些镜像之一时需要遵循的工作流程。
ozone-runner
ozone-runner 是包含运行和测试 Ozone 所需工具的基础镜像,但不包含任何 Ozone 构件。
开发者和 CI 工作流在很大程度上依赖它来运行/测试自定义的 Ozone 构建版本(通过 bind-mount 使用本地构建产物)。它同时也是 apache/ozone 的基础镜像(见下一节)。
已发布至 Docker Hub 和 GitHub。
开发工作在 master 分支上进行,相关改动会被挑选合并(cherry-pick)到 jdk11 分支。
构建
只需运行辅助脚本 build.sh 即可构建该镜像:
./build.sh打标签
镜像按日期打标签,分为两种类型:jdk21(用于 Ozone 2.0+)和 jdk11(用于 Ozone 1.x)。
发布 Docker 标签的步骤:
- 按照现有格式(
<date>-<n>-<flavor>,其中<n>从 1 开始,若同一天需要发布多个镜像则递增)为该提交添加 Git 标签。 - 将 Git 标签推送到 origin 仓库(
apache/ozone-docker-testkrb5)。这将触发一次工作流运行,以便将该标签应用到 Docker 镜像上。
ozone
ozone 构建在 ozone-runner 之上,并加入了官方 Ozone 发行版的二进制文件。
这些镜像用于测试不同 Ozone 版本之间的兼容性,以及从一个版本升级到另一个版本。它也可用于针对特定版本的 Ozone 进行快速试验,而无需下载或重新构建该版本。
已发布至 Docker Hub 和 GitHub。
开发分支:latest。
构建
只需运行辅助脚本 build.sh 即可构建该镜像:
./build.sh这将为你的架构创建一个单平台镜像。GitHub Actions 中的构建自动化会创建适用于 amd64 和 arm64 的多平台镜像。
可以通过在构建时定义的环境变量进行自定义。
# the URL to download Ozone from; allows using custom tarball or local mirror
OZONE_URL
# version of Ozone to include in the image; ignored if URL is also specified
OZONE_VERSION
# the base image name in repo/image format
OZONE_RUNNER_IMAGE
# the base image version to use
OZONE_RUNNER_VERSION标签
镜像会根据 Ozone 版本号以及可选的风味(flavor)进行标记。风味后缀 -rocky 是在 ozone-runner 因 CentOS 停止维护而从 CentOS 更改为 Rocky Linux 时引入的,以避免影响现有用户。今后的镜像将只基于 Rocky Linux 发布,分为带风味后缀和不带风味后缀两种。
镜像标签由分支名派生:推送到 ozone-<tag> 分支的镜像会以 <tag> 发布(例如 ozone-1.4.1 -> 1.4.1)。
发布 Docker 标签的步骤:
更新对应版本的分支:
- 对于最新的发布版本,通常可以通过快进合并来更新分支:
git merge --ff-only origin/latest。这样 CI 工作流就能基于latest分支为现有镜像打标签,而不是重新构建一个全新的镜像。 - 对于其他版本,可以通过 cherry-pick 一个或多个提交来更新分支。
- 对于最新的发布版本,通常可以通过快进合并来更新分支:
将分支推送到 origin 仓库(
apache/ozone-docker)。这将触发一次工作流运行来发布镜像。
ozone-testkrb5
ozone-testkrb5 在启用 Kerberos 的测试中用作 KDC。
仅发布到 GitHub,因为它完全不安全,只应仅用于测试。
开发分支:master。
构建
只需运行辅助脚本 build.sh 即可构建该镜像:
./build.sh打标签
镜像按日期打标签。
发布 Docker 标签的步骤:
- 按照现有的模式(
<日期>-<n>,其中<n>从 1 开始,如果同一天需要发布多个镜像则递增)为该提交添加 Git 标签。 - 将 Git 标签推送到 origin 仓库(
apache/ozone-docker-testkrb5)。这将触发一次工作流运行,以便将该标签应用到 Docker 镜像上。
评论
登录后参与评论
KnowForge