fix(docker): align customer image build

This commit is contained in:
2026-06-11 10:26:36 +08:00
parent a787327ca2
commit 24169bd277
3 changed files with 30 additions and 8 deletions
+18
View File
@@ -0,0 +1,18 @@
.git
.github
.gitea
__pycache__/
.pytest_cache/
.mypy_cache/
.venv/
venv/
build/
dist/
package/
temp/
data/
# db_inp/
inp/
# .env
*.pyc
*.dump
+11 -7
View File
@@ -1,21 +1,25 @@
FROM continuumio/miniconda3:latest
FROM condaforge/miniforge3:latest
WORKDIR /app
ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn \
UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 Python 3.12 和 pymetis (通过 conda-forge 避免编译问题)
RUN conda install -y -c conda-forge python=3.12 pymetis && \
conda clean -afy
RUN mamba install -y python=3.12 pymetis && \
mamba clean -afy
COPY requirements.txt .
RUN pip install uv
RUN uv pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir uv
RUN uv pip install --system --no-cache-dir -r requirements.txt
# 将代码放入子目录 'app',将数据放入子目录 'db_inp'
# 这样临时文件默认会生成在 /app 下,而代码在 /app/app 下,实现了分离
COPY app ./app
COPY db_inp ./db_inp
COPY temp ./temp
# COPY db_inp ./db_inp
COPY .env .
RUN mkdir -p db_inp temp data inp
# 设置 PYTHONPATH 以便 uvicorn 找到 app 模块
ENV PYTHONPATH=/app
+1 -1
View File
@@ -5,7 +5,7 @@ services:
api:
build:
context: ../..
dockerfile: infra/docker/Dockerfile
dockerfile: Dockerfile
container_name: tjwater_api
restart: always
ports: