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

How do I attach to intermediate docker container when building with buildkit

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

我正在使用 DOCKER_BUILDKIT=1 docker build . -t experimental 构建我的 Docker 文件。

我的 Dockerfile 由于缺少一些依赖包而无法正确构建。

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

在没有 Buildkit 的情况下构建时,使用终端输出中的中间容器的哈希值是可能的。

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

提前致谢。

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

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

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

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