我只有一个docker图像。
有没有可能得到用来构建它的Docker文件?
如果是这样的话,是怎么做的?
原因是我加载了图像,所以我没有生成它的Docker文件。
谢谢!
发布于 2016-09-28 14:02:16
有一个码头容器(!)这样做(有一些限制),它被称为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发布于 2016-09-28 05:56:03
你可以通过运行以下命令来查看在图像中创建每个层所运行的命令-类似于偷看有效的Dockerfile:-
docker history [IMAGE] | awk 'NR>1 {print $1}' | xargs docker inspect --format '{{ ((index .ContainerConfig.Cmd ) 0) }}'如果你刚刚做了一个docker pull [IMAGE],那么你可以在标准存储库中探索Dockerfile文件:
https://hub.docker.com/explore/
https://github.com/docker-library/official-images
https://stackoverflow.com/questions/39734737
复制相似问题