是否有可能从泊坞窗容器中提取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提取文件。
有一个项目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。