sh#!/bin/bash # 假设dockers是一个包含Docker镜像名称的数组 dockers=("nginx:latest" "alpine:latest") # 替换成实际的镜像名称和标签 # 远程仓库的基础路径 remote_registry="xxxx" # 循环遍历dockers数组 for docker in "${dockers[@]}"; do # 镜像的新标签,包含远程仓库地址 new_tag="$remote_registry/$(echo "$docker" | tr '/' '-')" echo "开始拉取镜像:$docker" # 拉取镜像 docker pull "$docker" if [ $? -ne 0 ]; then echo "拉取镜像 $docker 失败" continue # 如果拉取失败,则跳过当前镜像,继续处理下一个 fi echo "镜像 $docker 拉取成功,开始重新标记镜像" # 重新标记镜像 docker tag "$docker" "$new_tag" if [ $? -ne 0 ]; then echo "重新标记镜像失败" continue # 如果标记失败,则跳过当前镜像,继续处理下一个 fi echo "开始推送镜像到远程仓库:$new_tag" # 推送镜像到远程仓库 docker push "$new_tag" if [ $? -eq 0 ]; then echo "镜像已成功推送到远程仓库:$new_tag" else echo "推送镜像到远程仓库失败:$new_tag" fi done echo "所有操作完成。"