如何在Mac OS X上访问Docker图像层

时间:2019-02-04 20:59:26

标签: docker

我想检索有关docker图像层的信息,尤其是 关于用于创建图像的文件。 我正在使用docker history --no-trunc来检索有关特定图像的信息,例如:

~ docker history --no-trunc alpine:3.8 
IMAGE                                                                     CREATED             CREATED BY                                                                                          SIZE                COMMENT
sha256:3f53bb00af943dfdf815650be70c0fa7b426e56a66f5e3362b47a129d57d5991   6 weeks ago         /bin/sh -c #(nop)  CMD ["/bin/sh"]                                                                  0B                  
<missing>                                                                 6 weeks ago         /bin/sh -c #(nop) ADD file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in /    4.41MB       

我想获取有关此文件的信息: file:2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2 in /

如何找到2ff00caea4e83dfade726ca47e3c795a1e9acb8ac24e392785c474ecf9a621f2

P.S。我知道此层是使用FROM创建的,但是使用COPY命令创建图像时,情况相同。

1 个答案:

答案 0 :(得分:1)

您可以在docker-library/official-images存储库中找到所有官方库映像(_名称空间中的映像)的bashbrew清单。在这里,您可以找到图像和标签的源存储库。这是manifest for alpine

对于alpine之类的OS映像,基本层通常是整个OS文件系统的存档。您引用的文件是该版本Alpine Linux在docker-alpine的构建脚本中的image_build()函数的输出。

dive是探索图像图层的便捷工具。您可以在MacOS上使用Homebrew安装它。

brew tap wagoodman/dive
brew install dive

然后,像这样运行它。

dive alpine:3.8