docker tag 命令为本地镜像添加新标签而不创建新镜像,仅增加别名;语法为 docker tag source_image[:tag] target_image[:tag],常用于命名简化、添加仓库前缀或版本标注,且不增加磁盘占用。

使用 docker tag 命令可以为本地已存在的镜像添加新标签(tag),这不会创建新镜像,只是给同一镜像 ID 增加一个别名。
基本语法
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
其中:
-
SOURCE_IMAGE[:TAG] 是当前本地镜像的名称和可选标签(不写默认为
latest) -
TARGET_IMAGE[:TAG] 是你想打上的新名称和新标签;如果省略
:TAG,默认设为latest
常见使用场景
给镜像起个更易记的名字
docker tag nginx:alpine my-nginx:prod
把官方 nginx:alpine 镜像标记为 my-nginx:prod,便于后续识别用途。
为推送做准备(比如打上仓库前缀)
docker tag ubuntu:22.04 registry.example.com/myapp/ubuntu:22.04
加上私有仓库地址前缀,方便之后用 docker push 推送。
复制标签(如从 latest 改为具体版本号)
docker tag redis:latest redis:v7.2.4
虽然镜像 ID 相同,但现在可以用 redis:v7.2.4 明确指向这个版本。
注意事项
执行 docker tag 后,用 docker images 查看会发现多出一行记录,但 IMAGE ID 列相同,说明是同一个镜像。
- 它不改变原始镜像,也不占用额外磁盘空间
- 删除其中一个标签(如
docker rmi my-nginx:prod)不会影响其他标签,只有当所有标签都被删掉,且没被容器引用时,镜像层才可能被清理 - 目标镜像名中不能包含非法字符(如大写字母、下划线),推荐用小写字母、数字、连字符和点号
验证是否成功
运行:docker images | grep "your-target-name"
或直接查看完整列表:docker images
确认新标签出现在输出中,且 IMAGE ID 与源镜像一致即可。











