# 构建阶段 FROM node:16-alpine as builder # 设置工作目录 WORKDIR /app # 复制 package.json 和 package-lock.json COPY package*.json ./ # 安装依赖 RUN npm install # 复制源代码 COPY . . # 构建项目 RUN npm run build # 生产阶段 FROM node:16-alpine # 设置工作目录 WORKDIR /app # 安装 serve 包来提供静态文件服务 RUN npm install -g serve # 从构建阶段复制构建产物 COPY --from=builder /app/dist ./dist # 暴露端口 EXPOSE 3000 # 启动服务 CMD ["serve", "-s", "dist", "-l", "3000"]