当前位置: 首页 > 知识库问答 >
问题:

如何查看docker图像的树状视图?

壤驷瑾瑜
2023-03-14

我知道docker已经弃用了docker images命令中的tree标志。但我找不到任何方便的命令来获得相同的输出,比如docker图像——tree。我找到了dockviz。但这似乎是另一个需要运行的容器。是否有任何内置cli命令可以在不使用dockviz的情况下查看图像的树视图

共有1个答案

柯良骏
2023-03-14

2021年11月更新:对于在线公共形象,您拥有在线服务contains.dev

2018年11月更新,docker 18.09
现在您有了wagoodman/dive,这是一个用于探索docker图像中每一层的工具

要分析Docker图像,只需使用图像标记/id/摘要运行dive:

dive <your-image-tag>

或者,如果您想建立您的形象,请直接开始分析它:

dive build -t <some-tag> .

问题5001提到的当前(2015年9月,docker 1.8)解决方案实际上仍然是dockviz

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz images -t

-t只允许保留在CLI中(不需要图形)

2016年9月更新(postdocker 1.10: docker 1.11即将1.12),一年后,正如同一期5001中提到的,作者Michael Härtl:

从1.10开始,层ID的工作方式发生了根本性的变化。有关此主题的详细解释,请参阅#20399。还有#20451,但我不确定这是否可以被nate/dockviz映像使用。

就我个人而言,我发现新层的工作方式非常令人困惑,透明度比以前低了很多。而且也没有很好的记录

Tõnis Tiigi:

在v1.10之前,没有图层的概念,或者另一种思考方式是每个图像只有一个图层。你构建了一个图像链,你推动和拉动了一个链。链中的所有这些图像都有自己的配置。

现在有一个层的概念,它是一个内容可寻址文件系统差异。每个图像配置都有一个层引用数组,这些层引用构成了图像的根文件系统,并且没有图像需要其父级的任何东西才能运行。推拉仅移动单个图像,父图像仅为本地构建生成以用于缓存。

如果您使用Dockerfile构建镜像,每个命令都会在镜像配置中添加一个历史记录项。这将存储到命令中,以便您可以在docker历史记录中看到它。由于这是镜像配置的一部分,它也会随着推/拉移动并包含在校验和验证中。

以下是一些内容寻址配置的示例:
https://gist.github.com/tonistiigi/6447977af6a5c38bbed8

v1.10中的术语:(这些术语在实现中确实没有改变,但之前我们的文档可能简化了事情)。

  • 层是一个文件系统差异。一堆文件堆叠在一起构成一个根文件系统。层由图形驱动程序管理,他们对图像一无所知。
  • Image是您可以运行并显示在docker映像中的东西-a。需要有一个配置对象。当容器启动时,它需要某种方式从映像信息生成根文件系统。在构建时,每个Dockerfile命令都会创建一个新映像。

您可以参考最近的Tomastomeck/sen项目,该项目:

  • 必须了解1.10新图层格式(提交82b224e)
  • 包括一个图像树表示:
 类似资料:
  • 我做了一个docker拉,可以列出下载的图像。我想看看这张图片的内容。在网上搜索,但没有直接的答案。

  • 这是我得到的错误消息

  • 问题内容: 我做了一个码头工人拉,可以列出下载的图像。我想看这张图片的内容。在网上进行了搜索,但没有直接答案。 问题答案: 您可以使用该图像运行一个交互式外壳容器,并浏览该图像包含的内容。 例如: 或关注带有 或者,如果您想查看图像的构建方式,即图像中的步骤,则可以: 步骤将被登录到文件中。

  • 根据反馈更新 对于等于或高于17.03的Docker版本,如何查看图像的图层?虽然我为早期的Docker系统找到了大量的解决方案(见这个问题),但现在还能这样做吗? 我特别感兴趣的是能够一次删除一层。我记得很久以前读过这篇文章(在Docker时代,大约12-18个月!)然而,我丢失了那个参考资料,在网上的任何地方都找不到。我从下面的第一个答案中了解到,中间层不再下载并报告丢失,但如果我下载了整个图

  • 我知道我可以使用这个命令$docker images-tree查看docker图像的层,但是我如何在不拉动docker Hub的情况下查看docker图像?这是为了在下载图像之前知道图像上的内容。 E、 对于Tomcat回购,https://registry.hub.docker.com/_/tomcat/,网页似乎没有显示图像上的内容。我必须查看Github上的Dockerfile才能找到答案。

  • 主要内容:查看视图的字段信息,查看视图的详细信息,拓展阅读创建好视图后,可以通过查看视图的语句来查看视图的字段信息以及详细信息。本节主要讲解如何使用 SQL 语句来查看视图的字段信息以及详细信息。 查看视图的字段信息 查看视图的字段信息与查看数据表的字段信息一样,都是使用 DESCRIBE 关键字来查看的。具体语法如下: DESCRIBE 视图名; 或简写成: DESC 视图名; 示例 1 下面创建学生信息表 studentinfo 的一个视图,用于查询