| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/bin/bash
- # ============================================
- # 快速 Docker 构建脚本 - 使用优化版 Dockerfile
- # 构建前请先执行:bash init-dependencies.sh
- # ============================================
- set -e
- SERVICE=${1:-gateway}
- TAG=${2:-latest}
- REGISTRY=${3:-localhost:5000}
- BUILD_NUMBER=$(date +%Y%m%d%H%M%S)
- GIT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
- case $SERVICE in
- gateway)
- DOCKERFILE="shop-recycle-gateway/Dockerfile.optimized"
- IMAGE_NAME="$REGISTRY/shop-recycle-gateway:$TAG"
- ;;
- order)
- DOCKERFILE="shop-recycle-order-service/Dockerfile.optimized"
- IMAGE_NAME="$REGISTRY/shop-recycle-order-service:$TAG"
- ;;
- payment)
- DOCKERFILE="shop-recycle-payment-service/Dockerfile.optimized"
- IMAGE_NAME="$REGISTRY/shop-recycle-payment-service:$TAG"
- ;;
- *)
- echo "未知服务: $SERVICE"
- echo "用法: $0 [gateway|order|payment] [tag] [registry]"
- exit 1
- ;;
- esac
- echo "════════════════════════════════════════════════════════════"
- echo "快速构建 - 使用优化版 Dockerfile"
- echo "════════════════════════════════════════════════════════════"
- echo "服务: $SERVICE"
- echo "TAG: $TAG"
- echo "镜像: $IMAGE_NAME"
- echo "Commit: $GIT_COMMIT"
- echo ""
- # 检查 Dockerfile 是否存在
- if [ ! -f "$DOCKERFILE" ]; then
- echo "❌ 错误: $DOCKERFILE 不存在"
- echo ""
- echo "首次使用时,请先执行初始化脚本:"
- echo " bash init-dependencies.sh"
- echo " bash build-docker-optimized.sh $SERVICE $TAG"
- exit 1
- fi
- echo ">>> 开始构建..."
- docker build \
- --build-arg BUILD_NUMBER="$BUILD_NUMBER" \
- --build-arg GIT_COMMIT="$GIT_COMMIT" \
- -t "$IMAGE_NAME" \
- -f "$DOCKERFILE" \
- .
- echo ""
- echo "════════════════════════════════════════════════════════════"
- echo "✅ 构建完成!"
- echo "════════════════════════════════════════════════════════════"
- echo ""
- echo "镜像详细信息:"
- docker images | grep "$REGISTRY" | head -3
- echo ""
- echo "运行容器: docker run -d -p 8080:8080 $IMAGE_NAME"
|