从docker镜像获取dockerfile / docker命令
是否有可能找回运行产生给定的docker图像的docker命令? 由于docker文件的每一行都应该映射到一个单独的图层,看来这是可能的,但是我没有在文档中看到任何东西。
docker history <image>
几乎没有。
我想这取决于你从哪里得到的图像。
对于Docker Hub中的这些Docker容器,你可以使用这个链接从网页的右边到这个包含Dockerfile的github仓库 。
我不认为有一个“卸载”容器/图像的命令,并取回它的指示。
是否有可能找回运行产生给定的docker图像的docker命令?
不,考虑到你有像docker export
/ docker import
这样的命令可以平铺图像:
docker export <containerID> | docker import - <imagename>
生成的图像将从一个容器构build,并且只包含一个图层。 即使是docker history
也不能提供关于原始图像及其原始容器的一部分的Dockerfile的线索。
你可以使用两个docker命令的组合来实现你想要的:
docker inspect <image>
和
docker history <image>
或者你可以使用这个很酷的服务来看看这个图像是如何生成的,每一个图层都是你的docker文件中的一个命令:
对于您创build的图像,可以使用元数据(标签)来存储Dockerfile https://docs.docker.com/engine/userguide/labels-custom-metadata/
初步的解决scheme在这里提出https://speakerdeck.com/garethr/managing-container-configuration-with-metadata
这种存储Dockerfile的方法效率不高 – 它需要启动容器才能提取Dockerfile。
我个人使用不同的方法 – 用Base64编码Dockerfile,并使用外部parameter passing这样的编码string来设置图像标签。 这样你可以直接从图像中使用inspect来读取Dockerfile的内容。 你可以在这里find详细的例子: https : //gist.github.com/lruslan/3dea3b3d52a66531b2a1
- Docker ELK堆栈与docker-py
- 使用Virtual Box无法与Docker(Centos 7)+ DNS服务器(Container Ubuntu 14.04)通信
- 正确的方式来访问相同的dockernetworking中的其他docker集装箱的URL / API端点?
- SeleniumHQ泊坞窗图像创buildseleniumselenium网格的seleniumpythontesting
- docker端口不确定性
- 使用Jenkins在EC2实例上执行CI / CD
- Gitlab.com跑步者:我如何从外部回购站安装和运行软件?
- Dockernetworkingfunction如何提供服务发现?
- 什么可能导致“查询过程中丢失与MySQL服务器的连接”?