0

在多阶段构建的支持下,在一定程度上维护 repos 变得很方便。但是如何扩展这些存储库?

到目前为止,您可以使用命令--target中的构建特定标签的图像。docker build

在 docker-compose 中,您可以使用target条目中的context条目来指定它。

就我而言,我想使用来自 docker hub 的图像并扩展特定目标。现在,我正在使用一个 Dockerfile(我从 docker-compose 调用它,但这不重要),它具有

FROM repo/sample-name
DO my stuff

该 repo 在其 Dockerfile 中有 3 个目标,分别命名为sample-nameextendssample-name-fullsample-namewhich sample-name-devextends sample-name-full。这些名称中的破折号就像 repo 命名它们的目标一样。

似乎正在发生的事情是,我将第一个目标作为构建目标(或者我认为我这样做),它以 repo 本身命名。比方说,我怎样才能扩展中间目标?

我试过像

FROM repo/sample-name:latest-sample-name-dev

等等,但我无法让它工作。

4

1 回答 1

1

这在设计上是不可能的。多阶段构建的一个优点是隐藏中间阶段,例如在第一阶段下载带有硬编码凭据的内容,然后在第二阶段从中复制结果。dockerhub 上提供的最终映像表面上是单阶段构建的。大多数时候你不会担心这一点,因为最后阶段已经从以前的阶段获得了所有有用的东西。

于 2018-11-27T11:05:05.927 回答