1、docker tag 简介
docker tag
命令用于为Docker镜像添加或修改标签。它允许您为现有的镜像创建一个新的标签,使得同一个镜像可以通过不同的标签进行访问和使用。
一个完整的镜像名称具有以下格式和组件:
[HOST[:PORT_NUMBER]/]PATH
主机名:可选的仓库主机名指定镜像所在的位置。主机名必须符合标准DNS规则,但不能包含下划线。如果未指定主机名,命令默认使用Docker的公共仓库registry-1.docker.io。请注意,docker.io是Docker公共仓库的规范引用。
端口号:如果存在主机名,则可以选择性地在主机名后面加上仓库端口号,格式为:8080。
路径:路径由斜线分隔的组件组成。每个组件可以包含小写字母、数字和分隔符。分隔符定义为句点、一个或两个下划线,或一个或多个连字符。组件不能以分隔符开始或结束。尽管OCI分发规范支持多个斜线分隔的组件,但大多数仓库仅支持两个斜线分隔的组件。对于Docker的公共仓库,路径格式如下:
[命名空间/]仓库:第一个可选的组件通常是用户或组织的命名空间。第二个必需的组件是仓库名称。当命名空间不存在时,Docker将使用library作为默认命名空间。
在镜像名称之后,可选的标签是一个自定义的、人类可读的清单标识符,通常是镜像的特定版本或变体。标签必须是有效的ASCII字符,并且可以包含小写字母、大写字母、数字、下划线、句点和连字符。它不能以句点或连字符开头,且长度不能超过128个字符。如果未指定标签,命令默认使用latest。
可以使用名称和标签将镜像分组,并将它们推送到一个仓库。
参考文档:https://docs.docker.com/engine/reference/commandline/tag/
2、docker tag 语法
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
3、docker tag 命令
1)标记一个通过ID引用的镜像
将本地镜像的ID为"0e5574283393"的镜像打上名称为"fedora/httpd"、标签为"version1.0"的标签:
docker tag 0e5574283393 fedora/httpd:version1.0
2)标记一个通过名称引用的镜像
将本地镜像名称为"httpd"的镜像打上名称为"fedora/httpd"、标签为"version1.0"的标签:
docker tag httpd fedora/httpd:version1.0
注意:由于未指定标签名称,这将为现有的本地版本"httpd:latest"创建一个别名。
3)标记一个通过名称和标签引用的镜像
将本地镜像名称为"httpd"、标签为"test"的镜像打上名称为"fedora/httpd"、标签为"version1.0.test"的标签:
docker tag httpd:test fedora/httpd:version1.0.test
4)为私有仓库标记一个镜像
如果要将镜像推送到私有仓库而不是公共Docker仓库,必须包括仓库的主机名和端口(如果需要):
docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0