镜像命名与标签
约 715 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Docker › 镜像管理(在新窗口打开) › 镜像命名与标签
标签(Tag)是镜像的版本标识,正确使用标签是镜像管理的基础。
镜像命名规则
完整格式:
[registry-host[:port]/][namespace/]repository[:tag][@digest]| 部分 | 示例 | 说明 |
|---|---|---|
| Registry | docker.io、myregistry.com:5000 | 镜像仓库地址,省略则默认为 Docker Hub |
| Namespace | library、nginx、mycompany | 用户/组织名,官方镜像省略则为 library |
| Repository | nginx、node、myapp | 镜像名称 |
| Tag | latest、alpine、1.25 | 版本标识,省略则默认为 latest |
| Digest | sha256:abc123... | 不可变内容摘要,用于精确引用 |
常见标签约定
| 标签 | 含义 |
|---|---|
latest | 最新稳定版(非保证,需手动更新) |
alpine | Alpine Linux 为基础的精简版 |
slim | 精简版(基于 Debian 但去掉多余包) |
bullseye、bookworm | Debian 发行版代号 |
1.25、1.25.3 | 语义化版本号 |
1.25-alpine | 版本 + 基础镜像组合 |
docker tag 添加标签
docker tag 不会创建新镜像层,只是添加一个引用(类似文件系统的硬链接)。
# 为已有镜像添加新标签
docker tag nginx:alpine mynginx:v1
# 为私有仓库准备标签
docker tag nginx:alpine myregistry.com:5000/mynginx:latest
# 查看标签效果(两个标签指向同一 IMAGE ID)
docker images
# REPOSITORY TAG IMAGE ID SIZE
# nginx alpine 0e901e68141f 42.6MB
# mynginx v1 0e901e68141f 42.6MB
# myregistry.com:5000/mynginx latest 0e901e68141f 42.6MBDigest(内容摘要)
每个镜像都有唯一的 SHA256 摘要,基于内容计算,不可变。
# 查看镜像摘要
docker images --digests nginx:alpine
# 用摘要拉取(精确版本,即使原标签被覆盖也能拉取到相同内容)
docker pull nginx:alpine@sha256:abc123def456...摘要 vs 标签:
| 对比 | 标签 | 摘要 |
|---|---|---|
| 可变性 | 可被覆盖 | 不可变 |
| 可读性 | 好 | 差 |
| 适用场景 | 日常使用、CI/CD 配置 | 安全审计、精确版本锁定 |
| 示例 | nginx:1.25 | nginx@sha256:abc... |
推送镜像到仓库
# 1. 登录
docker login
docker login myregistry.com:5000
# 2. 打标签
docker tag myapp:latest myregistry.com:5000/myapp:v1
# 3. 推送
docker push myregistry.com:5000/myapp:v1标签最佳实践
# 推荐:使用语义化版本标签,不依赖 latest
docker tag myapp:latest myapp:1.0.0
docker tag myapp:latest myapp:1.0
docker tag myapp:latest myapp:latest
# 不推荐:只打 latest(无法追溯历史版本)
docker tag myapp:latest myapp:latest| 做法 | 推荐度 | 说明 |
|---|---|---|
myapp:1.2.3 | ✅ 推荐 | 精确版本,不可变 |
myapp:1.2 | ✅ | 大版本号,指向最新补丁 |
myapp:latest | ⚠️ 谨慎 | 易被覆盖,CI/CD 中不推荐 |
myapp:dev | ❌ 不推荐 | 可变标签,无法追溯 |
小结
- 镜像完整命名:
[registry/][namespace/]repository[:tag][@digest]。 docker tag添加新标签(不复制镜像),推送前必须打对应仓库的标签。- Digest 是镜像内容的 SHA256 摘要,不可变,适合精确锁定版本。
- 生产环境推荐使用语义化版本标签(
v1.2.3),避免依赖latest。
