
之前老版本我记得 docker build 如果失败也会在 docker images 里看到中间结果, 也就是失败之前的那个镜像.我之前的习惯是 run 那个镜像 然后手动执行下一条看为什么报错. 去 debug.
现在没有了, 失败了 docker images 里是空的.
请问专业的运维大佬是如何调试 dockerfile 的?
1 defunct9 2023-05-31 13:52:15 +08:00 开 ssh ,让我上去看看 |
2 SingeeKing PRO 除非 multi-stage 不然应该不会存在所谓的「之前的那个镜像」的;这个可以用 BuildKit 然后指定 `--cache-to` 来保存每步缓存 |
3 chaleaochexist OP @SingeeKing 难道我记错了.. |
4 C1V7dYXW4PN67euV 2023-05-31 14:03:05 +08:00 进入 images docker run -ti --entrypoint /bin/sh xxx |
5 Latin 2023-05-31 14:03:48 +08:00 docker 的设置 buildkit 为 true 时会折叠每层的日志输出 并且构件这层报错时也会忽略,失败构建也会保存到镜像库中 |
6 photon006 2023-05-31 14:17:49 +08:00 加 progress 参数: docker build --progress=plain --network=host -t hello/world:latest . |
7 hhjswf 2023-05-31 14:41:24 +08:00 肉眼扫一眼 |
8 tramm 2023-05-31 15:21:08 +08:00 问如何调试不如直接贴 Dockerfile 来的实在, 哈哈 |
9 taoge0224 2023-05-31 16:35:20 +08:00 call me |
10 anubu 2023-05-31 16:40:30 +08:00 基础镜像挂源码卷拉一个容器,在容器里手动执行 Dockerfile 中的指令进行调试。 |