docker - 关于命名图像的限制

dro*_*rbr 10 image docker

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

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

wis*_*cky 15

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

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

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


BMi*_*tch 7

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...]
Run Code Online (Sandbox Code Playgroud)