Files
crm_project/Dockerfile.frontend
T
hankin 423baff73b v0.1.0: CRM/ERP 系统内测版本 - 安全加固完成
- Docker bridge 网络隔离(8000 端口封死)
- Gunicorn 4 Worker 多进程
- Alembic 数据库迁移基线
- 日志轮转 20m×3
- JWT 密钥 + DB 密码 + CORS 收紧
- 3-2-1 备份链路(NAS + R740-B 冷备)
- 连接池 pool_pre_ping + pool_recycle=3600
2026-03-16 07:31:37 +00:00

30 lines
930 B
Docker

# ============================================================
# Stage 1: Build — 基于 Node 18 Alpine 构建 Vue3 前端产物
# ============================================================
FROM node:18-alpine AS builder
WORKDIR /build
# 先拷贝依赖清单,利用 Docker 层缓存
COPY frontend/package.json frontend/package-lock.json* ./
RUN npm install
# 拷贝全部前端源码并执行生产构建
COPY frontend/ .
RUN npm install -D @types/node && npm run build
# ============================================================
# Stage 2: Run — 极致轻量的 Nginx 运行时
# ============================================================
FROM nginx:alpine
# 拷贝构建产物
COPY --from=builder /build/dist /usr/share/nginx/html
# 拷贝 Nginx 网关配置(覆盖默认)
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]