Docker - 关于容器命名的限制

32


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

  1. 容器命名中最多可以有多少个字符?
  2. 哪些特殊字符不能用于 Docker 容器名称?(例如:'*', '$', ',', '_' ...)

我看到了 https://github.com/docker/docker/issues/3138 但最好检查一下代码,我会找它的。 - user2915097
2个回答

40

用于表示容器名称的字符由正则表达式表示: 源代码

// RestrictedNameChars collects the characters allowed to represent a name, normally used to validate container and volume names.
const RestrictedNameChars = `[a-zA-Z0-9][a-zA-Z0-9_.-]`

请查看#3138

仅镜像名称长度有30个字符的限制。


那个正则表达式的意思是容器名称不能只有一个字母长。 - Andrei Damian-Fekete
1
当容器镜像名称中有大写字母时,会报告一个错误。 - Leo Y
@LeoY 你是什么意思? - MrR
@MrR,当您尝试标记容器镜像(或构建)并使用大写字母时,守护程序会返回一个错误,看起来类似于: “解析错误:'Image:Label'不是有效的存储库/标签:无效的引用格式:存储库名称必须为小写”。 - Leo Y
2
@LeoY 这是给一个 图像 打标签(命名);而这个问题和答案是关于给 容器 命名的。规则是不同的。 - Vince Bowdren
2
namespace/repository 的 30 个字符的图像名称限制已经增加到 255 个字符:https://github.com/moby/moby/issues/10392,另请参阅:https://success.docker.com/article/dtr-max-length-repo-name。 - Andreas Jansson

8

容器名必须以字母或数字字符开头,并可使用 _ .- 等符号,此外还可以包含字母或数字字符。格式为 [a-zA-Z0-9][a-zA-Z0-9_.-]+

我不确定容器名称的长度限制是否严格规定。随着名称出现在许多API调用的路径中,您可能会遇到一些HTTP URL限制。


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