首页 > 解决方案 > Docker Hub:自动构建的存储库链接

问题描述

Docker Hub中,可以通过单击选项卡右上角的相应按钮来配置自动构建Builds。除了在推送到包含 的源代码存储库时配置重建之外Dockerfile,还可以将“存储库链接”设置为“为基础映像启用”。这旨在“每当在 Docker Hub 上更新基础映像时触发此存储库中的构建”。

我让它在一些简单的玩具示例案例中工作。但它无法触发更复杂的示例。我Dockerfile看起来像这样:

FROM mediawiki AS orig

FROM alpine AS build
COPY --from=orig <file> /
RUN <patch-command of file>

FROM mediawiki
COPY --from=build <file> /

如果(其中任何一个)基础图像得到更新,为什么重建不会触发?这是因为我有不止一条FROM线Dockerfile吗?还是警告“仅适用于非官方图像”适用于基本图像而不是目标图像?

如果我上面最后一个问题的答案是“是”,是否有某种方法仍然可以获得重建基础映像更新的预期效果?

标签: dockerdockerhub

解决方案


“仅适用于非官方图像”

我相当确定它不适用于任何官方图像,例如alpine,golang等。原因是如此多的图像依赖于这些基础图像,以至于单个更新将成为重建每个人图像的基础设施的巨大负担。

我的猜测是确定图像是否使用官方图像的逻辑非常基本,如果它检测到Dockerfile 中的FROM <some-official-image> 任何位置,那么它可能不会自动重建。


推荐阅读