我做了一个docker拉,可以列出下载的图像。我想看看这张照片的内容。在网上查了一下,但没有直接的答案。


当前回答

我试过这个工具——https://github.com/wagoodman/dive 我发现探索docker映像的内容非常有帮助。

其他回答

您不应该仅仅为了查看图像内容而启动容器。例如,您可能希望查找恶意内容,而不是运行它。使用“create”而不是“run”;

docker create --name="tmp_$$" image:tag
docker export tmp_$$ | tar t
docker rm tmp_$$

我们可以尝试一个简单的方法,如下所示:

docker image inspect image_id

这在Docker版本中是有效的:

DockerVersion": "18.05.0-ce"

使用Docker EE for Windows (17.66.2 - EE -6 on Hyper-V Server 2016),可以在主机操作系统的C:\ProgramData\ Docker \windowsfilter\路径下检查Windows容器的所有内容。

不需要特殊安装。

文件夹前缀可以通过docker ps -a输出的容器id找到。

有一个叫做anchor - cli的免费开源工具可以用来扫描容器图像。这个命令将允许您列出容器映像中的所有文件

anchore-cli image content myrepo/app:latest files

https://anchore.com/opensource/

编辑:不再从anchore.com,这是一个python程序,你可以从https://github.com/anchore/anchore-cli安装

docker save nginx > nginx.tar
tar -xvf nginx.tar

有以下文件:

清单。json -描述具有Container属性的文件系统层和json文件的名称。 .json -容器属性 -每个“layerid”目录包含json文件,描述与该层相关的层属性和文件系统。Docker将容器映像存储为层,通过跨映像重用层来优化存储空间。

https://sreeninet.wordpress.com/2016/06/11/looking-inside-container-images/

OR

您可以使用dive与TUI交互查看图像内容

https://github.com/wagoodman/dive