我的组织中有一组Docker基础映像。我的每个技术堆栈(例如Java或Python )都有一个。我还可以为特定版本的Java构建这些基础映像,并将其推送到artifactory。
然后我们将有不同的项目,他们将使用这些基础镜像并构造他们的Dockerfile。我们现在想以某种方式确保在这些项目的构建过程中,他们确实使用了我在他们的Dockerfile中创建的基础映像!
例如,如果我为Alipine上的Java创建的图像名为
java-8-alpine-3然后,需要Java运行时的项目应该将以下代码作为第一行:
FROM java-8-alipne-3我如何确保这种情况属实呢?换句话说,我如何检查图像以检查这些属性的使用情况?
发布于 2017-08-22 22:28:45
对于特定的图像,您可以使用世纪链接图像,该图像将对docker图像进行反向工程
docker run -v /var/run/docker.sock:/var/run/docker.sock \
centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID>不幸的是,世纪链接图像使用docker tree命令,该命令已被贬低,因此另一种解决方案是使用此命令
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock
nate/dockviz images -t它将显示所有的层,你可以通过检查所有的层。
发布于 2017-08-22 22:43:36
您不能仅使用图像来获取FROM行。
您可以使用docker history --no-trunc image_name来获取图像的历史记录,但不能获取FROM行。
请在Docker论坛上查看此帖子以获取更多信息:https://forums.docker.com/t/how-can-i-view-the-dockerfile-in-an-image/5687/3
发布于 2017-08-22 22:24:49
如果您只需要知道用于构建映像的FROM xxx行,只需执行以下操作
docker history --no-trunc my_image
你将会得到这些信息
文档
https://docs.docker.com/engine/reference/commandline/history/
编辑:
https://hub.docker.com/r/dduvnjak/dockerfile-from-image/
是的固定版本
https://github.com/CenturyLinkLabs/dockerfile-from-image/issues/14
它不再有效
例如
$ docker run -v /var/run/docker.sock:/var/run/docker.sock dduvnjak/dockerfile-from-image k3ck3c/nethogs FROM alpine:latest RUN apk update && apk add wget&& wget --no-check-certificate -c http://github.com/raboof/nethogs/archive/v0.8.1.tar.gz && tar zvxf v0.8.1.tar.gz && cd ./nethogs-0.8.1/ && echo "export ARCH=x86" >> Makefile && apk add sudo linux-headers ncurses-dev libpcap-dev make g++&& echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && apk update && apk add libpcap libstdc++ libgcc nethogs@testing&& make && sudo make install&& apk del sudo g++ make linux-headers ncurses-dev libpcap-dev libpcap libgcc libstdc++ && rm -rf /var/cache/apk/* ./nethogs-0.8.1/
显示了
FROM
线条正确
或者只是
$ docker run -v /var/run/docker.sock:/var/run/docker.sock dduvnjak/dockerfile-from-image k3ck3c/nethogs | grep FROM FROM alpine:latest
https://stackoverflow.com/questions/45820249
复制相似问题