docker镜像名及标签规范
docker镜像命名规范
完整的docker镜像名称格式:[HOST[:PORT_NUMBER]/]PATH
HOST:
可选的注册中心主机名指定映像的位置。主机名必须符合标准DNS规则,但不能包含下划线。如果没有指定主机名,该命令将使用Docker的公共regisgry地址 registry-1.docker. io 作为默认HOST。注意docker.io是Docker的公共registry的规范引用。
注意:HOST只能是域名,不能包含"http://",否则构建镜像时会报错!
PORT_NUMBER:HOST的端口号。
PATH:镜像在仓库上的路径,注意,这个路径并非镜像仓库服务器上的物理路径,而是物理路径在URL上的映射。路径由斜杠分隔的组件组成。每个组件可以包含小写字母、数字和分隔符。分隔符可以定义为一个句点、一个或两个下划线、一个或多个连字符,不能以分隔符开始或结束。建议最多只包含2个斜杆来分割组件。
组件:镜像名中,紧跟在主机之后的每段URI,都是一个组件。
虽然OCI分布规范支持两个以上斜杠分隔的组件,但大多数注册中心只支持两个斜杠分隔的组件。
路径的格式如下:
[命名空间/]仓库:默认的命名空间为“library”。当你的镜像名中只包含一段URI时,这段URI代表的是镜像存储的仓库名称,因为仓库名是必填的,而命名空间是非必填的。
第一个可选组件通常是用户或组织的名称空间。第二个必需的组件是存储库名称。当命名空间不存在时,Docker使用library作为默认命名空间。
docker标签命名规范
在镜像名称之后,是一个可选的TAG。Tag是一个自定义的、人类可读的清单标识符,它通常是镜像的特定版本或变体。标签必须是有效的ASCII码,可以包含小写字母、大写字母、数字、“_”、“。”和“-”。不能以“。”或“-”开头,长度不超过128个字符。
如果不指定标签,则默认使用latest。