使用 buildkit 构建时如何附加到中间 docker 容器

Jin*_*inu 11 docker dockerfile docker-buildkit

我最近听说了 Buildkit,并一直在尝试将它与 Docker 一起使用。

我正在 DOCKER_BUILDKIT=1 docker build . -t experimental 用来构建我的 Dockerfile。

Dockerfile由于缺少一些依赖包,我的构建不正确。

我想要做的是附加到最后一个工作的中间容器并使用apt工具解决问题。

在不使用 Buildkit 的情况下构建时,这可以通过终端输出的中间容器的哈希值实现。

但是,Buildkit 的输出并没有为我提供这样的值。那么,有什么方法可以让我访问它们吗?

提前致谢。

小智 7

我认为目前不可能看到buildkit/issue#1053

但是 BuildKit 仍然缓存所有层,因此您可以使用变通方法。

  • 在失败的命令之前检查图像RUN,注释掉失败的命令和所有后续RUN命令。重新运行docker build,然后docker run检查图像。

  • RUN命令失败检查图像在命令|| true末尾添加RUN以强制命令成功。重新运行docker build,然后docker run检查图像。

  • 提到的票证已被关闭。现在这是相关的:https://github.com/moby/buildkit/issues/1472 PS。我无法编辑,因为编辑队列已满 (3认同)