docker - 使用 buildkit 构建时如何附加到中间 docker 容器
问题描述
我最近听说过 Buildkit,并一直在尝试将它与 Docker 一起使用。
我
DOCKER_BUILDKIT=1 docker build . -t experimental
用来构建我的 Dockerfile。
Dockerfile
由于缺少一些依赖包,我的构建不正确。
我想要做的是附加到最后一个工作的中间容器并使用apt
工具解决问题。
在没有 Buildkit 的情况下进行构建时,可以使用来自终端输出的中间容器的哈希值来实现。
但是,Buildkit 的输出并没有为我提供这样的值。那么,我有什么方法可以访问它们吗?
提前致谢。
解决方案
我认为目前不可能看到buildkit/issue#1053。
但是 BuildKit 仍然缓存所有层,因此您可以使用变通方法。
在失败的命令之前检查图像
RUN
,注释掉失败的命令和所有后续RUN
命令。重新运行docker build
,然后docker run
检查图像。在命令失败后检查映像,在命令末尾
RUN
添加以强制命令成功。重新运行,然后检查图像。|| true
RUN
docker build
docker run
推荐阅读
- include - 如何在 sequelizejs 中使用 orderBy 和 include
- scrapy - Scrapy Splash 返回空列表
- c++ - 使用 libcurl 多接口连续请求相同的“简单”句柄
- winapi - 'Avl' 后缀与 Win32 API 中的原始函数有什么区别?
- c# - LINQ - 带有布尔方法的 Where 子句
- javascript - Javascript show/hide on dropdown onchange 函数,表单提交后需要记住值
- python - Python,每行中的项目到一个变量
- c++ - How to document a function that takes a callback?
- dictionary - How to get different places in leaflet map?
- opengl - PyOpenGL headless rendering