微服务模式:如何从指定镜像仓库拉取镜像到另一个仓库?

如题。比如,当前新建环境的仓库地址为10.10.18.85,而测试环境仓库地址为10.10.18.15,需要将其中的某个服务从10.10.18.15推到10.10.18.85.

已邀请:

1、新建任务“push-images-15-to-85”,勾选参数化构建(This project is parameterized),依次设置源镜像仓库地址from_harbor、目标镜像仓库地址to_harbor、目标开发者中心地址to_iuap、镜像名称(微服务名)image_name、镜像版本(微服务版本)image_version等参数。

/uploads/files_user1/answer/5e7868e3e4a74361461.png

/uploads/files_user1/answer/5e7868f3aeb28925356.png

2、在“构建”栏目,选择执行脚本,填写业务服务构建脚本

#登录到开发环境的harbor仓库
docker login -uadmin -pHarbor12345 $from_harbor

#拉取镜像
docker pull $from_harbor/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/$image_name:$image_version

#tag为测试环境的镜像

docker tag $from_harbor/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/$image_name:$image_version \
$to_harbor/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/$image_name:$image_version

#登录到测试环境的harbor仓库
docker login -uadmin -pHarbor12345 $to_harbor

#将镜像推送到测试环境中
docker push $to_harbor/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/$image_name:$image_version

#生成测试环境的开发中心镜像仓库记录
curl -X POST "http://$to_iuap/app-docker-registry/api/registry/push?providerId=c87e2267-1001-4c70-bb2a-ab41f3b81aa3&userName=%E7%AE%A1%E7%90%86%E5%91%98&userId=c87e2267-1001-4c70-bb2a-ab41f3b81aa3&imageName=reg.yyuap.io/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/$image_name&tag=$image_version"

/uploads/files_user1/answer/5e78694ab4fad824049.png

3、保存后,在任务界面,点击"Bulid with Parameters" ,在右侧依次填写源镜像仓库地址from_harbor、目标镜像仓库地址to_harbor、目标开发者中心地址to_iuap、镜像名称(微服务名)image_name、镜像版本(微服务版本)image_version等参数。启动构建。

/uploads/files_user1//5e786cd64dc21501632.png


4、构建完成后,即可登录开发者中心,找到对应应用,在配置流水线选择镜像的栏目,选择新构建的镜像。/uploads/files_user1//5e786d351e9ec816267.png


要回复问题请先登录注册