为什么docker 推送镜像前 都要打上harbor address 的tag

在 Docker 推送镜像到 Harbor 仓库之前,需要给镜像打上 Harbor 仓库地址的 tag,这样做的原因是为了指定镜像的目标仓库地址和路径,确保镜像能够正确推送到指定的 Harbor 实例和项目中。

原因详解:

  1. 指定仓库位置

    • Docker 使用镜像 tag 来标识镜像的来源或目标地址。给镜像打上 Harbor 地址的 tag(例如 harbor.mycompany.com/project/image:tag),Docker 才能知道将镜像推送到哪个仓库服务器上。
  2. 区分不同的仓库和项目

    • Harbor 是一个多租户的镜像仓库,通常会包含多个项目。每个项目可以有不同的访问权限和管理策略。通过在 tag 中添加 Harbor 地址和项目名称,可以精确定位镜像的存储位置,避免推送到错误的项目或仓库。
  3. 满足 Docker CLI 的推送规则

    • Docker CLI 的 docker push 命令要求指定 registry 地址。如果镜像没有带上完整的仓库地址(即没有包含类似 harbor.mycompany.com 的信息),Docker 默认会将镜像推送到 Docker Hub。打上 Harbor 的地址后,Docker CLI 知道这是一个自定义 registry,而不是 Docker Hub。

示例

假设需要将镜像 myapp:latest 推送到 harbor.mycompany.com 上的 projectA 项目中,可以按照以下步骤进行:

  1. 给镜像打上 Harbor 地址的 tag

    docker tag myapp:latest harbor.mycompany.com/projectA/myapp:latest
    
  2. 推送镜像到指定的 Harbor 仓库

    docker push harbor.mycompany.com/projectA/myapp:latest
    

小结

通过打上包含 Harbor 地址的 tag,Docker 能正确识别镜像的目标仓库地址,确保镜像推送到正确的仓库和项目中,这对镜像管理和仓库访问控制都至关重要。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值