#!/usr/bin/env bash set -euo pipefail echo "[Dream-Machine] 生产镜像构建" echo "- 环境要求: 前端包 dist/ 已在宿主机构建完成" echo "- 目标平台: linux/amd64" SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) ROOT_DIR=$(cd "$SCRIPT_DIR/.." && pwd) if [ ! -d "$ROOT_DIR/dist" ]; then echo "[错误] 未检测到 dist/。请先在宿主机运行: pnpm run build" exit 1 fi echo "[步骤] 安装并构建后端 (宿主机)" (cd "$ROOT_DIR/server" && pnpm install && pnpm run build) echo "[步骤] 构建生产镜像 (仅打包、禁止在容器内构建)" (cd "$ROOT_DIR/docker" && docker buildx build --platform linux/amd64 -f Dockerfile.prod -t dm-purchase-api:prod ..) echo "[完成] 镜像: dm-purchase-api:prod"