docker - 有关命名图像的限制

时间:2017-03-29 10:32:44

标签: image docker

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

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

2 个答案:

答案 0 :(得分:2)

来自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...]

答案 1 :(得分:1)

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

  

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

     

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