fix(snapshot): Dockerfile 添加 SNAPSHOT_SERVICE_URL build ARG

Next.js rewrites 在 build 时烘焙到 routes-manifest.json,
运行时环境变量无法覆盖。需要通过 Docker build ARG 在构建时传入。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-24 00:43:33 -08:00
parent ee94f1420d
commit 38efa891b8
2 changed files with 6 additions and 0 deletions

View File

@ -21,6 +21,10 @@ COPY . .
ENV NEXT_TELEMETRY_DISABLED=1
ENV NODE_ENV=production
# Next.js rewrite 在 build 时计算, 需要通过 ARG 传入后端服务地址
ARG SNAPSHOT_SERVICE_URL=http://snapshot-service:3099
ENV SNAPSHOT_SERVICE_URL=$SNAPSHOT_SERVICE_URL
# 构建应用
RUN npm run build

View File

@ -29,9 +29,11 @@ ENV NODE_ENV=production
ARG NEXT_PUBLIC_API_URL=http://mining-admin-service:3023
ARG TRADING_SERVICE_URL=http://trading-service:3022
ARG MINING_SERVICE_URL=http://mining-service:3021
ARG SNAPSHOT_SERVICE_URL=http://snapshot-service-2:3199
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
ENV TRADING_SERVICE_URL=$TRADING_SERVICE_URL
ENV MINING_SERVICE_URL=$MINING_SERVICE_URL
ENV SNAPSHOT_SERVICE_URL=$SNAPSHOT_SERVICE_URL
# 确保 public 目录存在(可能为空)
RUN mkdir -p public