Docker 镜像重命名【打上新的标签】

发布于:2025-08-29 ⋅ 阅读:(19) ⋅ 点赞:(0)


给 Docker 镜像重命名(打上新的标签)是一个非常常见的操作,主要通过 docker tag 命令完成。以下是详细的方法和注意事项:


1. 核心命令:docker tag

命令格式

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

参数解释

  • SOURCE_IMAGE[:TAG]:现有的源镜像名称或 ID,可以包含标签(如 v1.0),默认为 latest
  • TARGET_IMAGE[:TAG]:新的目标镜像名称和标签。

1.1. 操作步骤

1. 查看现有镜像

首先,列出所有镜像,找到你要重命名的镜像的 REPOSITORYIMAGE ID

docker images

输出示例:

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
my-old-image-name   latest    a1b2c3d4e5f6   2 hours ago    1.2GB

2. 执行重命名(打新标签)

使用 docker tag 命令为镜像创建一个新名称的引用。

示例 1:修改仓库名,标签不变(仍为 latest)

docker tag my-old-image-name:latest my-new-image-name:latest

示例 2:修改仓库名和标签

docker tag my-old-image-name:latest my-new-image-name:v1.0

示例 3:使用镜像 ID 进行重命名(如果镜像没有名字或避免拼写错误)

docker tag a1b2c3d4e5f6 my-new-image-name:latest

3. 验证结果

再次运行 docker images,你会看到新旧两个名称指向同一个 IMAGE ID

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
my-old-image-name   latest    a1b2c3d4e5f6   2 hours ago    1.2GB
my-new-image-name   latest    a1b2c3d4e5f6   2 hours ago    1.2GB
my-new-image-name   v1.0      a1b2c3d4e5f6   2 hours ago    1.2GB

这证明它们只是同一个镜像的不同别名(标签),不会占用额外的磁盘空间


4 删除旧的镜像名称(可选)

重命名操作实际上是添加了一个新标签,旧的镜像名称依然存在。如果你希望清理旧名称,可以使用 docker rmi

注意docker rmi 是删除镜像的标签。只有当最后一个标签被删除时,镜像层才会真正被删除。

# 删除旧的镜像标签(my-old-image-name:latest)
docker rmi my-old-image-name:latest

# 再次查看,旧的名称消失了,但镜像本身(IMAGE ID)依然存在,因为还有新标签引用它
docker images

2. 重命名的实际用途

  1. 规范化命名:将凌乱的名称改为符合规范的名称(如 project-component:version)。
  2. 推送至镜像仓库:为推送至 Docker Hub、Harbor 等私有仓库做准备,需要符合 [registry/]username/repository:tag 的格式。
    # 例如,推送至 Docker Hub
    docker tag my-app:latest my-dockerhub-username/my-app:latest
    docker push my-dockerhub-username/my-app:latest
    
  3. 版本管理:为同一镜像创建不同的版本标签(如 :prod, :dev, :v1.2.3)。

3. 重要注意事项

  • 非破坏性操作docker tag 不会修改镜像内容,只是创建一个新的引用。
  • 共享镜像层:所有标签共享相同的镜像层,节省存储空间。
  • 标签覆盖:如果新名称和标签已存在,该命令会覆盖现有的标签引用(不会删除旧的镜像层,但旧的标签名会指向新的镜像)。
  • 无法直接“重命名”:Docker 没有 rename 命令。所谓的重命名就是创建一个新标签,然后选择性地删除旧标签。

总结

给 Docker 镜像重命名的标准流程是:

  1. docker images 查看镜像ID或旧名称。
  2. docker tag <旧名称或ID> <新名称:标签> 创建新标签。
  3. (可选) docker rmi <旧名称:标签> 删除旧标签以保持整洁。
  4. 使用 docker images 验证结果。

这是一个安全、高效且标准的 Docker 镜像管理操作。


网站公告

今日签到

点亮在社区的每一天
去签到