docker tag 命令为镜像添加别名,不复制数据或新增层,仅创建指向同一镜像 id 的新引用;支持改名、加版本号、修改仓库前缀、使用镜像 id 打标、多标签管理及适配 registry 推送,删除标签用 docker rmi 镜像名:标签。

基础用法:改名或加版本号
语法很简单:docker tag 源镜像[:源标签] 目标镜像[:目标标签]。源标签省略时默认为 latest。
- 把本地
nginx:alpine标记为自己的应用名和版本:docker tag nginx:alpine myapp:v1.2 - 只改仓库前缀,保留原标签:
docker tag nginx:alpine my-registry/nginx:alpine - 用镜像 ID 打标签(适合没名字或避免拼写错误):
docker tag a1b2c3d4 myapp:debug
多标签管理:一个镜像多个“名字”
同一个镜像 ID 可以同时拥有多个标签,比如稳定版、时间戳、Git 提交号,全靠多次 docker tag 实现。
docker tag myapp:latest myapp:v1.5.2docker tag myapp:latest myapp:20260730docker tag myapp:latest myapp:prod
执行 docker images 会看到多行记录,但 IMAGE ID 完全一致,说明它们共享存储,不额外占空间。
为推送做准备:带上仓库地址
推送到私有 Registry 或 Docker Hub 前,必须用 docker tag 把镜像名改成带地址的格式。
- 推到 Docker Hub:
docker tag myapp:v1.5.2 username/myapp:v1.5.2 - 推到私有仓库:
docker tag myapp:v1.5.2 registry.example.com/team/myapp:v1.5.2
注意:tag 名称中的斜杠 `/` 和冒号 `:` 是分隔符,不能随意省略或错位;Registry 地址必须准确,否则 push 会失败。
验证与清理
打完标签后,用 docker images 确认是否生效;若想删掉某个标签(不是整个镜像),用 docker rmi 镜像名:标签。
-
docker rmi myapp:old-tag—— 仅删除该标签引用 - 只要还有其他标签指向同一 IMAGE ID,镜像层就不会被真正删除











