当前位置: 首页 > news >正文

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

文章目录

  • 1. 核心命令:docker tag
    • 1.1. 操作步骤
      • 1. 查看现有镜像
      • 2. 执行重命名(打新标签)
      • 3. 验证结果
      • 4 删除旧的镜像名称(可选)
  • 2. 重命名的实际用途
  • 3. 重要注意事项
  • 总结

给 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 镜像管理操作。

http://www.dtcms.com/a/354309.html

相关文章:

  • AI应用图文解说--百度智能云实现语音聊天
  • Python爬虫获取1688商品列表与图片信息
  • 【免驱】一款基于AI8H2K08U芯片的USB转RS485模块,嵌入式工程师调试好帮手!
  • Web 自动化测试常用函数实战(一)
  • 如何防御安全标识符 (SID) 历史记录注入
  • 嵌入式学习day38
  • 怎样选择合适的报表系统?报表系统的主要功能有什么
  • PLC_博图系列☞基本指令”S_PULSE:分配脉冲定时器参数并启动“
  • PyTorch闪电入门:张量操作与自动微分实战
  • Wxml2Canvas在组件中的渲染获取不到元素问题
  • vue 海康视频插件
  • Java Spring Boot 集成淘宝 SDK:实现稳定可靠的商品信息查询服务
  • AI鱼塘,有你画的鱼吗?
  • 代码随想录刷题Day44
  • IDEA连接阿里云服务器中的Docker
  • 嵌入式学习日志————DMA直接存储器存取
  • 微信开发者工具中模拟调试现场扫描小程序二维码功能
  • Centos 7.6离线安装docker
  • 元宇宙+RWA:2025年虚拟资产与真实世界的金融融合实验
  • aiohttp模块如何使用
  • 开发避坑指南(39):Java List全null元素引发的空判断无效处理方案
  • 用LightRAG打造智能问答系统:知识图谱与RAG的融合应用实践
  • 如何在升级到S/4HANA后关闭SAP旧系统?
  • 3-4〔OSCP ◈ 研记〕❘ WEB应用攻击▸Burp Suite工具
  • MySQL中的InnoDB
  • pikachu-xss通关(1-8)
  • qt5+mingw64+opencv4.5.2搭建调试环境
  • FOC算法第二节 克拉克变换
  • mybatis-plus实现苍穹外卖项目-分类操作,不定期更新-day2
  • Hadoop(五)