有没有办法获得给定图像的docker父映像树?我知道 docker history IMG_NAME
将为您正在使用的当前图像提供图像ID,但其他所有内容都缺少。我读到的这是在v1.10中出现的,这是出于安全问题的出现,但似乎是一个更大的关注点,无法验证最终图像的图像树的创建。
我发现的另一件事是docker save IMG_NAME -o TAR_OUTPUT.tar
,它会让您查看每一层中的所有文件,但这似乎很乏味。
我如何确保如何在给定图像中修改的软件是软件本身的安装和配置。似乎能够看到用于生成每个连续图像的Dockerfiles中的更改将是一种验证这一点的简便方法。
除了Chintan Thakar所说,您可能必须迭代几次。
一个例子应该澄清以下
假设您想挖掘图像,而Dockerfile以创建此图像以
开始 FROM wordpress
所以你去
https://hub.docker.com/_/wordpress/
看看Dockerfile,您会注意到
https://github.com/docker-library/wordpress/blob/0A5405CCA8DAF0338CF32DC7BE26F4DF4DF5405CFB6/php5.6/php5.6/php5.6/apache/apache/dockerfile
以
开始 FROM php:5.6-apache
因此,您转到
的PHP 5.6参考https://github.com/docker-library/php/blob/eadc27f12cfec58e270f8e37cd1b4ae9abcbb4eb/5.6/apache/dockache/dockerfile
您发现Dockerfile以
开头 FROM debian:jessie
所以您去了
的Debian Jessie的Dockerfilehttps://github.com/debuerreotype/docker-debian-artifacts/blob/af5a0043a929e0c87610da93bfe5999ac40f29b e
并注意此图像是像这样
的 FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]
因此,如果您想从所有文件到达的位置查看,则需要执行此操作。
如果通知了安全问题,您也需要执行此操作,以了解您是否担心。