Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker tag 常用命令。

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

推荐文档

相关文档

大家感兴趣的内容

随机列表