我正在一台 Linux 机器上工作。我大约 3-4 周前构建了一个 Docker 镜像,但我不记得 Dockerfile 位于哪里。
查找 Dockerfile 的最佳方式是什么?是否有可能以某种方式在给定图像的情况下获取其位置?
我尝试使用:
$ docker image inspect <image>
Run Code Online (Sandbox Code Playgroud)
但它不显示此信息。
Docker 镜像不会在 Dockerfile 上存储任何信息,但您可以尝试对其进行逆向工程。对此有几种方法:
docker history <image-name> --no-trunc,它将显示每一层的信息:> docker history golang:1.14.2-alpine3.11 --no-trunc --format="{{.CreatedBy}}"
/bin/sh -c #(nop) WORKDIR /go
/bin/sh -c mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
/bin/sh -c #(nop) ENV PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/bin/sh -c #(nop) ENV GOPATH=/go
...
Run Code Online (Sandbox Code Playgroud)
docker run -v /var/run/docker.sock:/var/run/docker.sock \
centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |