上传docker镜像到腾讯云

89 阅读1分钟
#!/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 "所有操作完成。"