diff --git a/push_taibai_to_tcr.sh b/push_taibai_to_tcr.sh new file mode 100644 index 0000000..613c907 --- /dev/null +++ b/push_taibai_to_tcr.sh @@ -0,0 +1,71 @@ +#!/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