在Docker Hub中,可以通过单击Builds
选项卡右上角的相应按钮来配置Automated 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
行吗?还是警告“ 仅适用于非官方图像”应用于基本图像而不是目标图像?
如果上面我最后一个问题的答案是“是”,是否有某种方法仍然可以在基础映像更新上获得预期的重建效果?
答案 0 :(得分:3)
“仅适用于非官方图片”
我相当确定它不适用于任何alpine
,golang
等正式图像。原因是太多图像依赖于这些基本图像,因此一次更新就是他们的基础架构负担沉重,无法重建每个人的图像。
我的猜测是,确定映像是否使用正式映像的逻辑非常基本,并且如果它在您的Dockerfile中检测到FROM <some-official-image>
任意位置,那么它可能不会得到自动重建。