什么是Docker标记(寻找定义)?

Max*_*ber 6 tags docker

我正在寻找"Docker标签"的定义.

我阅读了文档和相关的SO帖子,找不到任何东西.

谢谢你的帮助.

ldg*_*ldg 8

它基本上是可用于区分Docker镜像版本的元数据,因此您可以保留旧版本的旧版本或变体.

如果您一直在使用Docker,则可以通过docker images命令查看图像列表及其标记.如果没有为本地映像指定标记,则默认为latest.

正如您在文档中看到的,要创建新标记,格式为:

docker tag IMAGE[:TAG] IMAGE[:TAG]

更新:摘要值

在图像存储库中,图像本身具有ID,该ID可以由称为摘要的唯一标识符引用,该摘要是基于构成图像的图层的sha256哈希值.(拉动图像时可能已经看到过这个值.)同一个图像可以有多个标签 - 标签只是指针,因此创建多个标签不会占用额外的存储空间.

请注意,使用静态命名标记(如最新版本)是一种反模式,因为您不能100%确定给定用法的确切图像.虽然标记一次只能应用于给定图像存储库中的一个图像,但它可能不是您的应用程序正在使用的图像.您的构建系统负责保持标记更新,并且您的Docker客户端负责何时检查更新的图像,因此明确检查摘要值始终是一个好主意:

使用v2或更高版本格式的图像具有称为摘要的内容可寻址标识符.只要用于生成图像的输入不变,摘要值就是可预测的.要列出图像摘要值,请使用--digests标志:

docker images --digests