Docker镜像到Docker文件

我只有一个docker图像。

是否有可能获得用于构build它的Docker文件?

如果是这样,怎么样?

原因是我加载了图像,所以我没有发起它的Docker文件。

谢谢!

你可以通过运行以下命令来查看运行的命令来创build图像中的每个图层 – 查看Dockerfile的效果 –

 docker history [IMAGE] | awk 'NR>1 {print $1}' | xargs docker inspect --format '{{ ((index .ContainerConfig.Cmd ) 0) }}' 

如果你只是做了docker pull [IMAGE]那么你可以在标准的repo中探索Dockerfile:

https://hub.docker.com/explore/
https://github.com/docker-library/official-images

“`

有一个docker容器(!)这样做(有一些限制),它被称为dockerfile-from-image

https://github.com/CenturyLinkLabs/dockerfile-from-image

看看(Ruby)的代码

https://github.com/CenturyLinkLabs/dockerfile-from-image/blob/master/dockerfile-from-image.rb

例子启动这个容器来分析自己

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

然后如果你启动它

 $ docker run --rm -v /run/docker.sock:/run/docker.sock centurylink/dockerfile-from-image ruby FROM buildpack-deps:latest RUN useradd -g users user RUN apt-get update && apt-get install -y bison procps RUN apt-get update && apt-get install -y ruby ADD dir:03090a5fdc5feb8b4f1d6a69214c37b5f6d653f5185cddb6bf7fd71e6ded561c in /usr/src/ruby WORKDIR /usr/src/ruby RUN chown -R user:users . USER user RUN autoconf && ./configure --disable-install-doc RUN make -j"$(nproc)" RUN make check USER root RUN apt-get purge -y ruby RUN make install RUN echo 'gem: --no-rdoc --no-ri' >> /.gemrc RUN gem install bundler ONBUILD ADD . /usr/src/app ONBUILD WORKDIR /usr/src/app ONBUILD RUN [ ! -e Gemfile ] || bundle install --system