该提交完成了完整的电费监控系统项目初始化,包含: 1. 后端Node.js+Express服务,支持定时采集、登录认证、数据API 2. React前端界面,包含登录页和数据仪表盘 3. Docker容器化配置和docker-compose部署文件 4. 环境变量示例和gitignore、dockerignore配置 5. 完整的项目文档README
38 lines
593 B
Docker
38 lines
593 B
Docker
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json ./
|
|
|
|
RUN npm ci --only=production && \
|
|
npm cache clean --force
|
|
|
|
FROM node:20-alpine AS client-builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY client/package.json ./
|
|
|
|
RUN npm install && npm cache clean --force
|
|
|
|
COPY client/ ./
|
|
|
|
RUN npm run build
|
|
|
|
FROM node:20-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache tzdata ca-certificates
|
|
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY server.js .
|
|
COPY --from=client-builder /app/dist ./client/dist
|
|
COPY data ./data
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD ["node", "server.js"]
|