28 lines
1.1 KiB
Docker
28 lines
1.1 KiB
Docker
# CapacityReport 平台容器版(单阶段)。
|
|
# 前端先在构建机用 node 构建:cd frontend && npm ci && npm run build(产出 frontend/dist)。
|
|
# 然后构建镜像:docker build -t capacity-report-app:latest .
|
|
# 基础镜像用 python:3.13.11-slim(内网无 dockerhub 时需本地已有该镜像),依赖从 PyPI 安装。
|
|
FROM python:3.13.11-slim
|
|
WORKDIR /app
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
CAPAREPORT_BASE_DIR=/data \
|
|
CAPAREPORT_FRONTEND_DIR=/app/frontend/dist
|
|
|
|
COPY requirements.txt ./
|
|
RUN pip install -r requirements.txt
|
|
|
|
COPY app/ ./app/
|
|
COPY frontend/dist ./frontend/dist
|
|
# 默认配置/脚本/特征库:首次启动由 entrypoint 播种到数据卷 /data(已存在则保留用户修改)。
|
|
COPY Configure.json ReportScript.sql CellData.sql ./defaults/
|
|
COPY db_init/ ./defaults/db_init/
|
|
COPY docker/ ./docker/
|
|
RUN sed -i 's/\r$//' /app/docker/entrypoint.sh \
|
|
&& cp /app/docker/entrypoint.sh /usr/local/bin/entrypoint.sh \
|
|
&& chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
VOLUME ["/data"]
|
|
EXPOSE 9081
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|