docker image中的tag和image layer id有什么区别?

时间:2018-10-06 18:02:45

标签: docker docker-image

根据我的理解,图像层ID是每个图像层的唯一ID,而标记是我们在图像名称后附加的名称,例如username / repo:tag。标记的示例是“最新”,这意味着该标记是图像的最新更新。因此图像层也做同样的事情。一旦我们更新了图像,它就会更新到另一个图层,从而获得另一个唯一的图层ID。那么,为什么我们要使用两个标识符标签和图像层ID来区分不同版本的图像?

3 个答案:

答案 0 :(得分:0)

图像ID是伪随机的十六进制字符串,尽管对于计算机而言是唯一且方便的,但人类却难以记住和使用。标签基本上是昵称,您可以将其分配给这些ID,以使其更易于使用。

此外,图像ID是永久性的且不变,而标签可以从一个图像重新分配给另一个图像。

答案 1 :(得分:0)

Docker映像ID是摘要,是映像配置对象的计算得出的SHA256哈希,其中包含有助于映像文件系统定义的各层的摘要。如果要检查完整的Docker映像ID,请运行以下命令

docker images --no-trunc

ID是唯一的。由于难以记住图像ID,因此最好使用图像/存储库名称。

Docker tags使您能够确保拉下您的图像的任何人都确切知道他们所得到的。您可以使用docker标签进行版本控制。例如,您可以标记不同版本的Ubuntu映像

参考:https://www.techrepublic.com/article/how-to-use-docker-tags-to-add-version-control-to-images/

答案 2 :(得分:0)

图片ID是唯一的。图像可以具有多个与之关联的标签。

REPOSITORY                       TAG                   IMAGE ID            CREATED             SIZE
hello-world                      latest                4ab4c602aa5e        4 weeks ago         1.84kB
hello-world                      linux                 4ab4c602aa5e        4 weeks ago         1.84kB