- 在dev.md中添加docker本地构建测试步骤 - 在Dockerfile中复制启动脚本并赋予执行权限 - 更新获取环境变量的逻辑,支持运行时配置 - 在index.html中添加运行时配置的脚本加载
19 lines
579 B
Docker
19 lines
579 B
Docker
FROM node:20-slim AS base
|
|
ENV PNPM_HOME="/pnpm"
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
RUN npm install -g corepack@latest && corepack enable
|
|
|
|
FROM base AS build
|
|
COPY . /app
|
|
WORKDIR /app
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
|
RUN pnpm run build
|
|
|
|
FROM nginx:stable-alpine
|
|
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /app/packages/web/dist /usr/share/nginx/html
|
|
# 复制启动脚本
|
|
COPY docker/generate-config.sh /docker-entrypoint.d/40-generate-config.sh
|
|
RUN chmod +x /docker-entrypoint.d/40-generate-config.sh
|
|
|
|
EXPOSE 80 |