docker - Docker镜像到Docker文件

标签 docker dockerfile

我只有一个 docker 镜像。

是否可以获取用于构建它的Docker文件?

如果是这样,怎么办?

这样做的原因是我加载了镜像,因此没有生成它的Docker文件。

谢谢!

最佳答案

有一个执行此操作的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

关于docker - Docker镜像到Docker文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39734737/

相关文章:

docker - 如何重新启动已停止的docker/whalesay容器?

amazon-web-services - 用于本地开发的 AWS Docker 容器

maven - docker-maven-plugin 没有创建 dockerfile

docker - 有没有一种方法可以阻止使用dockerfile/docker-compose的用户假定容器的root用户身份?

django - docker 卡在点子安装

docker - 如何将 nginx docker 镜像暴露到 80 以外的端口?

docker - ERRO[0001] 错误等待容器 : context canceled

docker - 如何设置 Kubernetes 启动的容器的工作目录

python-3.x - Docker 拉取 Python

docker - 运行 DOCKER BUILD 时 COPY 命令失败