如何在DockerHub上发布旧GitHub标签?组织迁移场景需求
如何在DockerHub上发布旧的GitHub标签
手动构建推送方式
- 先完成旧标签的迁移(如果还没同步到新组织仓库):
# 克隆新组织仓库(已克隆可跳过) git clone git@github.com:new-org/your-repo.git cd your-repo # 从原仓库拉取所有旧标签 git pull git@github.com:old-org/your-repo.git --tags # 把标签推送到新组织仓库 git push origin --tags # 切换到目标旧标签,创建临时分支方便构建 git checkout tags/your-target-old-tag -b temp-build-branch - 构建并推送对应标签的Docker镜像:
# 构建镜像,用旧GitHub标签作为Docker镜像标签 docker build -t new-org/your-docker-image:your-target-old-tag . # 登录DockerHub docker login # 推送镜像到DockerHub docker push new-org/your-docker-image:your-target-old-tag
DockerHub自动构建方式
如果习惯用DockerHub的自动构建功能:
- 进入DockerHub你的仓库设置,关联新组织的GitHub仓库
- 转到「Builds」选项卡,添加新构建规则:
- 触发类型选「Tag」
- 标签匹配规则填目标旧标签名(比如
v1.0.0,或用*匹配所有标签) - 指定Dockerfile路径和构建上下文
- 在构建规则列表里找到刚添加的规则,点击「Trigger」,选择要构建的旧标签即可触发自动构建并推送
注意事项
- 旧标签必须先同步到新组织的GitHub仓库,否则DockerHub自动构建无法识别
- 构建时要确保Dockerfile路径和构建上下文正确,避免因路径问题导致构建失败
- 若原仓库的旧标签带有签名,迁移时记得保留签名信息
内容的提问来源于stack exchange,提问作者spacether
相关产品推荐
相关产品推荐

