一个Docker镜像的名称包括哪些合适的部分名称?

9

给定的 my-registry/my-image:0.1.0

  • my-registry 是注册表名称
  • my-image 是镜像名称?
  • 0.1.0 是标签?版本号?
  • my-image:0.1.0 是名称?镜像?
  • my-registry/my-image:0.1.0 是完全作用域的名称?

有没有“正式”的方法来区分这些部分?我的使用情况是:当我编写脚本来找出正确的参数进行Docker构建时,我总是很难找到适当的方法来区分例如“my-image”和“my-image:tag”。

2个回答

3
根据 docker tag 的参考文档

镜像名称由斜杠分隔的名称组件构成,可选地前缀为注册表主机名。

标签通常被认为是冒号后面的部分。因此,尽管忽略了超过两个斜杠分隔组件的情况:

  • my-registry 是注册表
  • my-registry/my-image 是(镜像)名称
  • 0.1.0 是标签(名称)

似乎没有对单元 my-registry/my-image:0.1.0my-imagemy-image:0.1.0 进行命名(除了将 my-image 称为“名称组件”)。你可以称 my-registry/my-image:0.1.0 为已打标签的名称,如果你采用将 my-image 称为项目的方法(这是我的个人做法),那么你可以称 my-image:0.1.0 为已打标签的项目。

请注意,尽管上述内容,docker imagemy-registry/my-name 单元称为“仓库”。我个人更喜欢使用“名称”术语来描述此单元。


1
要构建一个 Docker 镜像,您需要执行以下步骤:
使用以下命令:docker build -t my-registry/the-image-name:tag(其中标签可以是任何您想要的内容,例如:镜像类型(debian、centos、nginx、myApp、lb、php等)。
版本不是必须的,但如果您没有传递版本标签(如 v1、1.0.0),则始终会使用 latest 标签构建镜像。
my-registry/the-image-name:myApp

如果你传递一个tag,那么更容易跟踪你正在构建的Docker镜像。
my-regsitry/the-image-name:myApp-v1.0.0

图片标签最佳实践

Docker镜像标签

Docker镜像标签2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接