Docker 查看镜像构建过程 docker history

docker history   --format {{.CreatedBy}} --no-trunc=true bitnami/zookeeper:3.7.0-debian-10-r242|sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac


该命令组合的作用是格式化并反转 docker history 命令的输出,使其看起来类似于Dockerfile中的指令序列。下面是命令的逐步解析:

docker history --format {{.CreatedBy}} --no-trunc=true bitnami/zookeeper:3.7.0-debian-10-r242:

docker history 显示Docker镜像的历史。
--format {{.CreatedBy}} 自定义输出格式,只显示创建每一层的命令。
--no-trunc=true 表示不截断输出,显示完整的创建命令。
bitnami/zookeeper:3.7.0-debian-10-r242 指定要查看历史的Docker镜像及其标签。
sed "s/\/bin\/sh -c #(nop) //g":

使用 sed 流编辑器替换命令输出中的 /bin/sh -c #(nop)  字符串为空,因为这种模式表示Dockerfile中的非运行指令,如 ENV, LABEL 等。
sed "s/\/bin\/sh -c/RUN/g":

再次使用 sed 替换 /bin/sh -c 为 RUN,这是为了模拟Dockerfile中的 RUN 指令。
tac:

tac 命令将文本反转输出,因为 docker history 是按照从最新层到最早层的顺序显示的,而Dockerfile是从基础层开始构建的。所以使用 tac 后输出的顺序就类似于Dockerfile文件的编写顺序。
执行这个命令组合后,你将得到一个看似Dockerfile的命令序列,它反映了构建 bitnami/zookeeper:3.7.0-debian-10-r242 镜像的过程,但是需要注意的是,自动生成的序列可能不是完全可用的Dockerfile,因为某些操作可能不会在 docker history 命令中显示出来,例如复制文件到镜像内。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值