#!/bin/bash # 拉取私有 Registry 镜像脚本 # 用途:在服务器上拉取 Docker 镜像 set -e # 读取配置(如果存在) if [ -f ".registry-config" ]; then source <(grep -E '^[^#]*=' .registry-config | sed 's/^/export /') fi # 默认配置 REGISTRY_URL="${REGISTRY_URL:-git.quanyu360.cn}" REGISTRY_USER="${REGISTRY_USERNAME:-admin}" REGISTRY_PASS="${REGISTRY_PASSWORD:-ye972030}" NAMESPACE="${REGISTRY_NAMESPACE:-wecom-ai}" BACKEND_IMAGE="${BACKEND_IMAGE_NAME:-wecom-ai-backend}" ADMIN_IMAGE="${ADMIN_IMAGE_NAME:-wecom-ai-admin}" IMAGE_TAG="${IMAGE_TAG:-latest}" echo "=== 拉取私有 Registry 镜像 ===" echo "" echo "Registry: $REGISTRY_URL" echo "命名空间: $NAMESPACE" echo "标签: $IMAGE_TAG" echo "" # 登录 Registry echo "1. 登录 Docker Registry..." echo "$REGISTRY_PASS" | docker login "$REGISTRY_URL" -u "$REGISTRY_USER" --password-stdin if [ $? -ne 0 ]; then echo "✗ 登录失败" exit 1 fi echo "✓ 登录成功" echo "" # 拉取 Backend 镜像 echo "2. 拉取 Backend 镜像..." BACKEND_FULL="${REGISTRY_URL}/${NAMESPACE}/${BACKEND_IMAGE}:${IMAGE_TAG}" echo " 镜像: $BACKEND_FULL" docker pull "$BACKEND_FULL" if [ $? -eq 0 ]; then echo "✓ Backend 镜像拉取成功" else echo "✗ Backend 镜像拉取失败" exit 1 fi echo "" # 拉取 Admin 镜像 echo "3. 拉取 Admin 镜像..." ADMIN_FULL="${REGISTRY_URL}/${NAMESPACE}/${ADMIN_IMAGE}:${IMAGE_TAG}" echo " 镜像: $ADMIN_FULL" docker pull "$ADMIN_FULL" if [ $? -eq 0 ]; then echo "✓ Admin 镜像拉取成功" else echo "⚠ Admin 镜像拉取失败(可能不存在,继续)" fi echo "" # 显示已拉取的镜像 echo "4. 已拉取的镜像:" docker images | grep "$REGISTRY_URL" || echo " 无" echo "" echo "=== 完成 ===" echo "" echo "可以使用以下命令启动服务:" echo " docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d" echo ""