是否可以获取生成给定Docker镜像的Docker命令?由于每行Docker文件应该映射到单个层,因此似乎这是可能的,但是我在文档中没有找到任何内容。
是否可以获取生成给定Docker镜像的Docker命令?由于每行Docker文件应该映射到单个层,因此似乎这是可能的,但是我在文档中没有找到任何内容。
docker history <image>
是否可以获取生成给定docker镜像的docker命令?
不行,因为你有docker export
/ docker import
这样的命令,它允许压缩一个镜像:
docker export <containerID> | docker import - <imagename>
docker history
也无法提供有关原始镜像及其 Dockerfile 的线索,这些镜像是原始容器的一部分。docker inspect <image>
and
docker history <image>
您可以使用这个很酷的服务来查看图像是如何生成的,每一层都是Dockerfile中的一个命令:
对于你创建的图像,可以使用图像元数据(标签)来存储Dockerfile。 https://docs.docker.com/engine/userguide/labels-custom-metadata/
最初的解决方案是在这里提出的https://speakerdeck.com/garethr/managing-container-configuration-with-metadata
存储Dockerfile的这种方法不太高效 - 它需要启动容器才能提取Dockerfile。
我个人使用不同的方法 - 使用Base64对Dockerfile进行编码,并使用外部参数传递这样编码的字符串以设置图像标签。这样,您可以直接从图像中使用inspect读取Dockerfile的内容。 您可以在此处找到详细的示例:https://gist.github.com/lruslan/3dea3b3d52a66531b2a1