Docker - 关于命名镜像的限制

23

我有关于图像命名限制的问题。我在网上搜索并看到了不同的问题和答案。

哪些特殊字符不允许在Docker镜像名称中使用?(例如'*','$',',','_' ...) 是否可以在图像名称中使用大写字符?

2个回答

15

本文档描述了Docker镜像名称和标签的命名规则: https://docs.docker.com/engine/reference/commandline/tag/#extended-description

名称组成部分可以包含小写字母、数字和分隔符。 分隔符定义为一个点、一个或两个下划线,或一个或多个破折号。名称组成部分不能以分隔符开头或结尾。

标签名称必须是有效的ASCII码,并且可以包含小写字母和大写字母、数字、下划线、点和破折号。 标签名称不能以点或破折号开头,最多可包含128个字符。


12

https://github.com/docker/distribution/blob/master/reference/regexp.go

  

// nameComponentRegexp将注册表路径组件名称限制为至少以一个字母或数字开头,后续部分可以是由一个句点、一个或两个下划线和多个破折号隔开的内容。

这适用于镜像名称本身。

  • 字母的正则表达式是全部小写,没有大写字母。
  • 您可以在冒号后面的开头包括主机名和可选的端口号。
  • 您可以在主机名和镜像名称之间包含带斜杠 / 的路径,并且路径的每个元素都具有与镜像名称本身相同的限制。
  • 在镜像名称之后,您可以在冒号后附加标记,或者在 @ 后附加摘要。

常见的括号表示法如下:

[somehost.com[:1234]][/some-path/to/the]image-name[:myTag1.2.3]
[somehost.com[:1234]][/some-path/to/the]image-name[@ca468b84b84846e84...]

嗨,像 host.com/a/b/c/d/e:1.0 这样的东西是可以接受的(带有额外的斜杠)吗?我担心其他一些工具会拒绝它或者秘密失败?非常感谢(详情请见:https://dev59.com/pVYItIcB2Jgan1znioWS)。 - ch271828n

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