Script/push_taibai_to_tcr.sh
2025-07-19 10:25:11 +08:00

72 lines
1.7 KiB
Bash

#!/bin/bash
# 腾讯云 TCR 配置
TCR_SERVER="ccr.ccs.tencentyun.com"
TCR_NAMESPACE="sqai"
TCR_REPO="sqaii"
TCR_USERNAME="xiaoyan99817"
TCR_PASSWORD="xiaoyan99817"
# 要上传的镜像
SOURCE_IMAGE="lishunqin/taibai-shopping:latest"
# 提取镜像信息
IMAGE_NAME="taibai-shopping"
TAG="latest"
echo "🚀 开始上传 $SOURCE_IMAGE 到腾讯云 TCR..."
# 登录腾讯云 TCR
echo "🔐 登录到腾讯云 TCR..."
docker login $TCR_SERVER -u "$TCR_USERNAME" -p "$TCR_PASSWORD"
if [ $? -ne 0 ]; then
echo "❌ TCR 登录失败!"
exit 1
fi
# 检查本地是否有镜像,没有则拉取
echo "🔹 检查本地镜像..."
if ! docker image inspect $SOURCE_IMAGE >/dev/null 2>&1; then
echo "🔹 本地没有镜像,正在拉取: $SOURCE_IMAGE"
docker pull $SOURCE_IMAGE
if [ $? -ne 0 ]; then
echo "❌ 镜像拉取失败!"
exit 1
fi
else
echo "✅ 本地已存在镜像: $SOURCE_IMAGE"
fi
# 构建TCR镜像标签
TCR_IMAGE="$TCR_SERVER/$TCR_NAMESPACE/$TCR_REPO:$IMAGE_NAME-$TAG"
echo "🔹 重新标记镜像: $TCR_IMAGE"
docker tag $SOURCE_IMAGE $TCR_IMAGE
if [ $? -ne 0 ]; then
echo "❌ 镜像标记失败!"
exit 1
fi
echo "🚀 正在推送镜像到腾讯云 TCR: $TCR_IMAGE"
docker push $TCR_IMAGE
if [ $? -ne 0 ]; then
echo "❌ 镜像推送失败!"
exit 1
fi
echo "✅ 镜像上传完成: $TCR_IMAGE"
echo "🎉 上传成功!您可以在 docker-compose.yml 中使用以下镜像地址:"
echo " image: $TCR_IMAGE"
# 清理本地标记的镜像(可选)
read -p "是否删除本地标记的TCR镜像? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
docker rmi $TCR_IMAGE
echo "🗑️ 已清理本地TCR标记镜像"
fi