有没有一种方法可以获取给定镜像的docker父镜像树?我知道docker history IMG_NAME将为您正在使用的当前图像提供图像ID,但其他所有图像均丢失。我已经阅读了v1.10中出于安全性考虑而删除的内容,但似乎更担心的是无法验证从中创建最终图像的图像树。

我发现的另一件事是docker save IMG_NAME -o TAR_OUTPUT.tar,它使您可以查看每一层中的所有文件,但这看起来非常乏味。

我怎样才能保证,在给定镜像中针对某件软件进行修改的唯一事情就是该软件本身的安装和配置。看来能够查看用于生成每个连续镜像的Dockerfile中的更改将是验证这一点的简便方法。

最佳答案

除了chintan thakar所说,您可能必须重复几次。

一个例子应该澄清这一点

假设您想挖掘一个镜像,并且用于创建该镜像的Dockerfile始于
FROM wordpress
所以你去

https://hub.docker.com/_/wordpress/

看一下Dockerfile,您会注意到

https://github.com/docker-library/wordpress/blob/0a5405cca8daf0338cf32dc7be26f4df5405cfb6/php5.6/apache/Dockerfile

以。。开始
FROM php:5.6-apache
因此,您可以转到PHP 5.6引用,网址为

https://github.com/docker-library/php/blob/eadc27f12cfec58e270f8e37cd1b4ae9abcbb4eb/5.6/apache/Dockerfile

并且您发现Dockerfile以
FROM debian:jessie
所以你去了Debian jessie的Dockerfile

https://github.com/debuerreotype/docker-debian-artifacts/blob/af5a0043a929e0c87f7610da93bfe599ac40f29b/jessie/Dockerfile

并注意此图像是这样构建的
FROM scratchADD rootfs.tar.xz /CMD ["bash"]
因此,如果您想查看所有文件的来源,则需要执行此操作。

如果通知了安全问题,则还需要执行此操作,以了解您是否担心。

关于image - 获取Docker镜像的父镜像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44689855/

10-16 18:38