InfiniteCloud/Dockerfile
2025-09-15 14:52:27 +08:00

33 lines
553 B
Docker

# 多阶段构建
FROM node:18-alpine AS base
# 安装依赖阶段
FROM base AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
# 构建阶段
FROM base AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build:static
# 生产阶段 - 静态文件服务
FROM nginx:alpine AS runner
WORKDIR /usr/share/nginx/html
# 复制静态文件
COPY --from=builder /app/out .
# 复制 nginx 配置
COPY nginx.conf /etc/nginx/nginx.conf
# 暴露端口
EXPOSE 80
# 启动 nginx
CMD ["nginx", "-g", "daemon off;"]