如何在docker history命令的输出中查看第三列(创建者)中的完整命令?
$ docker history docker.company.net/docker-base-images/image:1.0
IMAGE CREATED CREATED BY SIZE
c0bddf343fc6 7 days ago /bin/sh -c #(nop) LABEL com.company.build.r… 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG commit 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG date 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG repo 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG org 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG version 0B
<missing> 7 days ago /bin/sh -c #(nop) USER [company] 0B
<missing> 7 days ago /bin/sh -c apk --no-cache add openjdk8-jre-b… 72.2MB
<missing> 7 days ago /bin/sh -c #(nop) USER [root] 0B
<missing> 7 days ago /bin/sh -c #(nop) USER [company:company] 0B
<missing> 7 days ago |5 commit=d64d27b07439e6cfff7422acafe440a946… 3.92MB
<missing> 7 days ago /bin/sh -c #(nop) LABEL com.company.build.r… 0B
<missing> 7 days ago |5 commit=d64d27b07439e6cfff7422acafe440a946… 4.85kB
<missing> 7 days ago /bin/sh -c #(nop) ARG commit 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG date 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG repo 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG org 0B
<missing> 7 days ago /bin/sh -c #(nop) ARG version 0B
<missing> 5 weeks ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 5 weeks ago /bin/sh -c #(nop) ADD file:88875982b0512a9d0… 5.53MB 第三列(由创建)是命令的缩写,这使得很难重建原始Dockerfile。可以在第三列中获取完整的命令吗?
感谢您的阅读。
发布于 2019-04-18 07:56:36
您可以添加标志--no-trunc来查看完整的命令。
发布于 2020-03-16 03:54:59
出于调试目的,我需要以表格格式查看完整的构建历史,而不是截断的构建步骤。Docker文档的例子通常是不完整的(或者根本不存在)。@Alassane_Hdiaye接受的答案可以工作,但如果在错误的位置使用,则会抛出错误。经过几次尝试,我得到了GoLang模板表格式化程序来产生我需要的结果。
Docker GoLang模板--format选项适用于docker history,但必须在--format之后输入,因为它修改的是--format,而不是docker history。docker history命令只有1个参数。--format选项更改docker history的输出,--no-trunc修改--format选项。
命令序列必须为
docker history <image-id> --format <GoLang template spec> --no-trunc
在命令行中,--no-trunc选项位于--format之后,因为它修改了--format选项。
因此,对于表格格式的完整历史记录:
docker history <image-id> --format "table{{.ID}}, {{.CreatedBy}}" --no-trunc输出是杂乱的,因为Dockerfile RUN命令可以换行很多。
因此,通过管道将结果传输到CSV文件并在Excel中打开它(因为缺少更好的表查看器)。
docker history <image-id> --format "table{{.ID}}, {{.CreatedBy}}" --no-trunc > image-id-history.csv因此,现在我可以在Excel中看到完整的构建指令,而不会被截断。
顺便说一句,Docker history不会输出运行和其他dockerfile构建关键字,但可以推断这些关键字。但至少完整历史记录中的完整命令是可用的。
https://stackoverflow.com/questions/55737199
复制相似问题