Time_Effectiveness/Dockerfile
2025-10-22 15:07:43 +08:00

46 lines
821 B
Docker

# ---- Build stage ----
FROM node:20-slim AS build
WORKDIR /app
# 安装依赖
COPY package*.json ./
RUN npm ci
# 拷贝前端和后端
COPY dist/ ./dist
COPY public/ ./public
COPY server/ ./server
COPY src/ ./src
COPY index.html ./
# 如果前端需要构建
# RUN npm run build
# ---- Runtime stage ----
FROM nginx:1.27-alpine
# 安装 Node.js 运行环境
RUN apk add --no-cache nodejs npm
WORKDIR /app
# 拷贝 Node.js 后端
COPY --from=build /app/server /app/server
# 拷贝前端静态文件
COPY --from=build /app/dist /usr/share/nginx/html
COPY --from=build /app/public /usr/share/nginx/html/public
COPY --from=build /app/index.html /usr/share/nginx/html/
# Nginx 配置
COPY nginx.conf /etc/nginx/nginx.conf
# 启动脚本
COPY start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 80
CMD ["/start.sh"]