docker 中的顶级镜像是什么

问题描述 投票:0回答:1

当我使用命令

docker images
在 docker 中列出图像时,它默认为全部并显示所有顶级图像,如 documentation 所说。我想知道什么是顶级图像和中级图像以及这些级别是如何定义的。谢谢你

docker docker-image
1个回答
0
投票

Docker 镜像由一系列组成(什么是 Docker 镜像“层”?)。这些层实际上以 Docker 镜像本身的形式存在,原则上,如果您知道它们的镜像 ID,就可以

docker run
它们(使用“经典”镜像生成器更容易)。每个图像都有一个父图像,这些图像形成一棵树,以完全不包含任何内容的特殊
scratch
图像为根。

docker images
默认情况下会列出带有名称的图像,以及没有子项的图像。

假设您正在处理构建的图像

FROM ubuntu:22.04
。您已经运行过几次
docker build
了。您的本地图像树包含:

000000 --> 123456 --> 234567 --> 345678 +-> 456789 --> 56789a
                   ubuntu:22.04         |
                                        |
                                        +-> 6789ab --> 789abc
                                                       my-app

如果你运行

docker images
,你会看到类似的东西

REPOSITORY  TAG     IMAGE ID
ubuntu      22.04   234567...
<none>      <none>  56789a...
my-app      latest  789abc...

原则上

docker images -a
会向您展示所有的中间层,但这几乎没有任何帮助。您会看到许多与各个
<none>
线相对应的
RUN
图像;你不能有用地
docker run
他们,因为他们只完成了图像构建的一半,你不能
docker rmi
他们,因为他们有子图像,他们会报告一个误导性的图像大小,该大小也计入他们的子图像图像。

© www.soinside.com 2019 - 2024. All rights reserved.