docker build 失败 如何调试?

2023-05-31 13:50:03 +08:00
 chaleaochexist

之前老版本我记得 docker build 如果失败也会在 docker images 里看到中间结果, 也就是失败之前的那个镜像.我之前的习惯是 run 那个镜像 然后手动执行下一条看为什么报错. 去 debug.

现在没有了, 失败了 docker images 里是空的.

请问专业的运维大佬是如何调试 dockerfile 的?

1767 次点击
所在节点    程序员
10 条回复
defunct9
2023-05-31 13:52:15 +08:00
开 ssh ,让我上去看看
SingeeKing
2023-05-31 13:52:53 +08:00
除非 multi-stage 不然应该不会存在所谓的「之前的那个镜像」的;这个可以用 BuildKit 然后指定 `--cache-to` 来保存每步缓存
chaleaochexist
2023-05-31 13:58:29 +08:00
@SingeeKing 难道我记错了..
yasi
2023-05-31 14:03:05 +08:00
进入 images
docker run -ti --entrypoint /bin/sh xxx
Latin
2023-05-31 14:03:48 +08:00
docker 的设置 buildkit 为 true 时会折叠每层的日志输出 并且构件这层报错时也会忽略,失败构建也会保存到镜像库中
photon006
2023-05-31 14:17:49 +08:00
加 progress 参数:

docker build --progress=plain --network=host -t hello/world:latest .
hhjswf
2023-05-31 14:41:24 +08:00
肉眼扫一眼
tramm
2023-05-31 15:21:08 +08:00
问如何调试不如直接贴 Dockerfile 来的实在, 哈哈
taoge0224
2023-05-31 16:35:20 +08:00
call me
anubu
2023-05-31 16:40:30 +08:00
基础镜像挂源码卷拉一个容器,在容器里手动执行 Dockerfile 中的指令进行调试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/944507

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX