Time_Effectiveness/Dockerfile

34 lines
604 B
Docker
Raw Normal View History

2025-10-22 15:01:56 +08:00
FROM node:20-slim AS build
2025-10-22 14:21:47 +08:00
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
2025-10-22 15:01:56 +08:00
RUN npm run build # 如果有前端构建过程,例如 React/Vue
# ---- Runtime 镜像 ----
FROM nginx:1.27-alpine
# 安装 Node.js
RUN apk add --no-cache nodejs npm
WORKDIR /app
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
# 复制 Node.js 应用
COPY --from=build /app /app
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
# 拷贝前端静态文件到 nginx 路径
RUN mkdir -p /usr/share/nginx/html && \
cp -r /app/dist/* /usr/share/nginx/html/
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
# 拷贝 Nginx 配置
COPY nginx.conf /etc/nginx/nginx.conf
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
# 启动脚本
COPY start.sh /start.sh
RUN chmod +x /start.sh
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
EXPOSE 80
2025-10-22 14:21:47 +08:00
2025-10-22 15:01:56 +08:00
CMD ["/start.sh"]