首页 > 解决方案 > 使用 buildkit 构建时如何附加到中间 docker 容器

问题描述

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

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

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

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

在没有 Buildkit 的情况下进行构建时,可以使用来自终端输出的中间容器的哈希值来实现。

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

提前致谢。

标签: dockerdockerfiledocker-buildkit

解决方案


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

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

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

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


推荐阅读