如何将指定Docker镜像复制到另一仓库?
Docker镜像跨仓库复制方法
Docker没有专门的“镜像克隆”命令,但可以通过打标签+推送的方式实现镜像跨仓库的内容复制,具体步骤分两种情况:
情况1:本地已存在源镜像
- 给源镜像添加目标仓库的新标签:
docker tag docker.foo.com/ua/my_img:latest docker.foo.com/ub/my_cloned_img:latest - 将打了新标签的镜像推送到目标仓库:
docker push docker.foo.com/ub/my_cloned_img:latest
情况2:本地不存在源镜像
如果本地还没有拉取过源镜像,需要先拉取再执行标签和推送操作:
- 拉取源仓库的镜像:
docker pull docker.foo.com/ua/my_img:latest - 给镜像添加目标仓库标签:
docker tag docker.foo.com/ua/my_img:latest docker.foo.com/ub/my_cloned_img:latest - 推送到目标仓库:
docker push docker.foo.com/ub/my_cloned_img:latest
说明:
docker tag只是为镜像创建一个新的引用(别名),不会复制镜像内容;推送时Docker会自动对比目标仓库已有的镜像层,只上传缺失的部分,若源仓库和目标仓库属于同一Registry,这个过程会更高效。
内容的提问来源于stack exchange,提问作者James Franco
相关产品推荐
相关产品推荐

