拉动Docker镜像时显示的ID的含义是什么?

时间:2016-10-01 20:20:26

标签: docker docker-image

从DockerHub中提取Docker镜像时,CLI会显示一些进度条,每个进度条都有不同的ID:

➜  docker pull training/sinatra
Using default tag: latest
latest: Pulling from training/sinatra
a3ed95caeb02: Pull complete
6e71c809542e: Downloading [============>                       ]  17.3 MB/67.48 MB
d196a7609355: Download complete
08f6dff5acea: Download complete
ce65532003d0: Downloading [==============================>     ] 19.24 MB/21.22 MB
54bcaa4d1a10: Downloading [=====>                              ] 25.39 MB/62.67 MB
8572ad96f6e1: Waiting

下载完成后,这些ID似乎都不是下载的图片ID:

docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
...
training/webapp          latest              6fae60ef3446        16 months ago       348.8 MB
training/sinatra         latest              49d952a36c58        2 years ago         447 MB

下载过程中显示的ID代表什么?

3 个答案:

答案 0 :(得分:1)

被拉的东西是层次。每个图像由多个图层组成,每个图层都有一个ID。该图像还具有ID。如果您执行docker images -a(对所有人),那么您应该会在列表中看到其他拉出的ID。

答案 1 :(得分:1)

简短回答:拉动图像时看到的ID是"摘要",这是每个图像层的SHA256哈希值。图像ID显示在本地图像列表中也是一个摘要",该摘要实际上表示图像的JSON配置对象的SHA256哈希值。

答案 2 :(得分:1)

这些是层次。图像由其他图像组成。所有图像都代表"主图像"的图层。例如,当您使用Dockerfile创建新图像时,Dockerfile中的每个新行都会创建一个新图层。

有关images and layers的详细信息,请参阅官方文档。