方法一:lukapeschke/dockerfile-from-image(53.7MB)
sudo git clone git://github.Dcom/lukapeschke/dockerfile-from-image.git
cd dockerfile-from-image
docker build -t lukapeschke/dfa .
对本地已存在的镜像kiwenlau/hadoop查看其dockerfile,输入其image ID
docker run --rm -v '/var/run/docker.sock:/var/run/docker.sock' lukapeschke/dfa <IMAGE_ID>
查看结果:

方法二:LanikSJ/dfimage(60.9MB)
docker pull laniksj/dfimage
docker run -v /var/run/docker.sock:/var/run/docker.sock laniksj/dfimage <IMAGE_ID>
查看结果同上:

方法三(可作为对之前的修正):
另外,使用docker history kiwenlau/hadoop:1.0 --no-trunc=true
也可以查看到运行dockerfile指令的过程,只不过是反着记录的,记录中CREATED BY列#(nop)
前缀,有人员认为表示此命令无操作。

Dockerfile中的每一条指令都生成一个镜像,默认生成的镜像层存储位置为docker host主机的/var/lib/docker/${storege driver}。
cd /var/lib/docker/overlay2
ls -lt #目录中查看(按时间逆序排序)
cd 77d9d414819a8a3d66f8d0c16acd06bcc25ae496dbb7c5205e10e1eb2bada8ef/
cd diff
ls
这个diff目录存放就是我们创建镜像时的内容,即b.txt

网友评论