通过 dockfile 来 build 镜像时失败了,但是过程中生成了一个错误日志在 /tmp 目录下,请问这个日志能查看到吗。 如果能看到的话需要怎么看呢。
1
rbe 2022-02-17 11:39:34 +08:00
试试 docker cp 拷贝出来
https://docs.docker.com/engine/reference/commandline/cp/ |
2
Cmdhelp 2022-02-17 11:44:30 +08:00
docker ps -a
docker log -f xxxxx |
4
Vegetable 2022-02-17 12:05:40 +08:00 1
一个不太聪明,但是可以的方案
将 dockerfile 失败那步开始的内容都注释掉,build 进入这个半成品容器,手动执行失败那条命令,然后去看日志 |
5
Vegetable 2022-02-17 12:09:39 +08:00 1
试了一下,另一个方案,没深入研究
文件如下 ``` FROM ubuntu:20.04 WORKDIR /root RUN touch 1.txt && exit 1 ``` 这个 dockerfile 打包会失败,输出如下 [+] Building 2.6s (6/6) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 101B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/ubuntu:20.04 2.0s => [1/3] FROM docker.io/library/ubuntu:20.04@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be 0.0s => CACHED [2/3] WORKDIR /root 0.0s => ERROR [3/3] RUN touch 1.txt && exit 1 此时执行 docker rum --rm -it 709faeff4e2faa40d4bf2a076493bd1e4945a435d55b390427bd358e8e27efeb bash 可以进入[1/3]那步所在的文件层,看到 1.txt 。 root@d89352d51fc5:~# ls 1.txt |
6
rbe 2022-02-17 12:14:52 +08:00 1
@IAmAlive #3 不好意思看错了,原来是没有镜像,我以为是容器 run 失败了。
有个鸡贼的办法,直接在 dockerfile 里 RUN cat /tmp/xxx.log 呗 |