docker - 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
吗?还是警告“仅适用于非官方图像”适用于基本图像而不是目标图像?
如果我上面最后一个问题的答案是“是”,是否有某种方法仍然可以获得重建基础映像更新的预期效果?
解决方案
“仅适用于非官方图像”
我相当确定它不适用于任何官方图像,例如alpine
,golang
等。原因是如此多的图像依赖于这些基础图像,以至于单个更新将成为重建每个人图像的基础设施的巨大负担。
我的猜测是确定图像是否使用官方图像的逻辑非常基本,如果它检测到Dockerfile 中的FROM <some-official-image>
任何位置,那么它可能不会自动重建。
推荐阅读
- c# - API 给出错误 {{System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1}}
- botframework - Luis 意图名称中的特殊字符
- flutter - 修复了 Flutter Dart 上 DataTable 的列和行标题
- tensorflow - Tensorflow 有 tf.unravel_index 的倒数吗?
- json - 使用颤振接收器获取数据:空错误
- vb.net - 遍历一个 IQueryable(ObjectA)并检查一个属性是否存在于另一个 IQueryable(ObjectB)中
- javascript - 如何使用 Lazy Line Painter 在一个页面中制作多个动画
- apache - Apache:我的 RewriteRules 之一不起作用
- java - 如何创建具有自定义属性的用户
- css - Next.js 中每页的 CSS 拆分