是否有可能从泊坞窗容器中提取Dockerfile

我刚刚开始使用Docker,能够看到用于创build现有泊坞窗图像的Dockerfiles会非常有帮助。

即使图像是通过手动运行命令构build的,然后提交给一个标签,也能很好地看到图像是如何制作的,无论是为了学习还是为了安全。

有没有一种方法来提取Dockerfile或用于构build给定泊坞窗图像的命令列表?

你有docker history <image>这是非常有帮助的。 它甚至可以用来生成一个dockerfile,如果没有涉及stdin的步骤。

如果作为标准input的一个步骤,唯一的方法来知道发生了什么将是做docker logs <container id parent> ,但如果你没有容器,你不能。

现在有可以卸下的 。 我们可以使用pip命令来安装它。

 pip install git+https://github.com/larsks/undocker/ 

并使用

 docker save IMAGE_NAME | undocker -i -o IMAGE_NAME 

从docker提取文件。

https://github.com/larsks/undocker/

有一个项目dockerfile-from-image可以帮助你直接完成。

它需要一个CLI命令来恢复Dockerfile:

docker run -v /var/run/docker.sock:/var/run/docker.sock centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID>

一个必须已经安装了Docker。