#!/bin/bash # 批量构建所有服务的 Docker 镜像 # 使用说明: # 1. 将所有 jar 包上传至服务器 /docker/jar 目录 # 2. 在项目根目录执行:bash build-images.sh # 3. 如需指定版本号:bash build-images.sh 2.4.1 VERSION=${1:-2.4.1} echo "======================================================" echo " 开始构建所有服务镜像,版本号:${VERSION}" echo "======================================================" # 构建函数 build_image() { local service=$1 # 服务名,如 ruoyi-gateway local dockerfile=$2 # Dockerfile 路径,相对于项目根目录 local image="ruoyi/${service}:${VERSION}" echo "" echo "------------------------------------------------------" echo " 构建镜像:${image}" echo " Dockerfile:${dockerfile}" echo "------------------------------------------------------" docker build -f "${dockerfile}" -t "${image}" . if [ $? -eq 0 ]; then echo " [成功] ${image}" else echo " [失败] ${image} 构建失败,请检查日志" exit 1 fi } build_image "nacos" "/docker/jar/nacos-Dockerfile" # ===================== 网关 ===================== build_image "ruoyi-gateway" "/docker/jar/gateway-Dockerfile" # ===================== 认证 ===================== build_image "ruoyi-auth" "/docker/jar/auth-Dockerfile" # ===================== 业务模块 ===================== build_image "ruoyi-system" "/docker/jar/system-Dockerfile" build_image "ruoyi-job" "/docker/jar/job-Dockerfile" build_image "ruoyi-resource" "/docker/jar/resource-Dockerfile" build_image "ruoyi-product" "/docker/jar/product-Dockerfile" build_image "ruoyi-external" "/docker/jar/external-Dockerfile" build_image "ruoyi-order" "/docker/jar/order-Dockerfile" build_image "ruoyi-customer" "/docker/jar/customer-Dockerfile" build_image "ruoyi-bill" "/docker/jar/bill-Dockerfile" build_image "ruoyi-mall" "/docker/jar/mall-Dockerfile" # ===================== 可视化组件 ===================== build_image "ruoyi-monitor" "/docker/jar/monitor-Dockerfile" build_image "ruoyi-snailjob-server" "/docker/jar/snailjob-Dockerfile" echo "" echo "======================================================" echo " 所有镜像构建完成!共 13 个服务" echo "======================================================" echo "" echo "镜像列表:" docker images | grep "ruoyi/" | grep "${VERSION}"