image - 如何从图像生成 Dockerfile?

标签 image repository docker

是否可以从图像生成 Dockerfile?我想知道有两个原因:

  1. 我可以从存储库下载图像,但想查看生成它们的配方。

  2. 我喜欢保存快照的想法,但是一旦我完成了,最好有一个结构化的格式来查看所做的事情。

最佳答案

How to generate or reverse a Dockerfile from an image?

你可以。大部分。

注意:它不会生成可以直接与docker build一起使用的Dockerfile;输出仅供引用。

alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
dfimage -sV=1.36 nginx:latest

它会自动拉取目标docker镜像并导出Dockerfile。参数 -sV=1.36 并不总是必需的。

引用:https://hub.docker.com/repository/docker/alpine/dfimage

如果您选择特定标签,现在 hub.docker.com 会直接显示带有详细命令的图像层。

enter image description here

奖金

如果你想知道每一层有哪些文件发生了变化

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive nginx:latest

enter image description here

左边是每一层的命令,右边(用tab跳转),黄线是那个层中一些文件被改变的文件夹

(使用SPACE折叠目录)

旧答案

下面是旧答案,它不再起作用了。

$ docker pull centurylink/dockerfile-from-image
$ alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm centurylink/dockerfile-from-image"
$ dfimage --help
Usage: dockerfile-from-image.rb [options] <image_id>
    -f, --full-tree                  Generate Dockerfile for all parent layers
    -h, --help                       Show this message

关于image - 如何从图像生成 Dockerfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19104847/

相关文章:

asp.net-mvc - UnitOfWork 作为存储库的容器

sql-server - 当从本地 SQL Server 获取比平常更大的数据库结果时,Docker 中的 dotnet 核心的 SQL 超时

android - 上传前压缩相机图像

python - django file upload - 在编辑模板中隐藏当前显示的图片链接

github - 克隆公共(public) github 帐户是否需要 SSH key ?

docker - Docker中的Dotnet Core开发

docker - 使用CoreOS和Fleet发行具有数据量的镜像启动问题

Java - 从图像周围的边框创建一个形状

java - 将 DICOM 转换为 JPEG 时出错

git - 本地删除的分支不会在远程存储库上删除