guohanghui commited on
Commit
f17408e
·
verified ·
1 Parent(s): a62c7cd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -23
Dockerfile CHANGED
@@ -1,14 +1,4 @@
1
- FROM python:3.10
2
-
3
- # 安装系统依赖:Fortran 编译器、MPI、BLAS 库
4
- RUN apt-get update && apt-get install -y \
5
- gfortran \
6
- libopenmpi-dev \
7
- openmpi-bin \
8
- libopenblas-dev \
9
- liblapack-dev \
10
- pkg-config \
11
- && rm -rf /var/lib/apt/lists/*
12
 
13
  # 创建用户
14
  RUN useradd -m -u 1000 user && \
@@ -18,23 +8,22 @@ USER user
18
  ENV PATH="/home/user/.local/bin:$PATH"
19
  WORKDIR /app
20
 
21
- # 复制并安装 pyPDAF 源码(需要编译 C/Fortran 扩展)
22
- COPY --chown=user ./pyPDAF/source /app/pyPDAF/source
23
- WORKDIR /app/pyPDAF/source
24
 
25
- # 安装构建依赖和 pyPDAF
26
- RUN pip install --no-cache-dir meson-python meson ninja cython numpy mpi4py && \
27
- pip install --no-cache-dir -v .
28
 
29
- # 回到应用目录
30
- WORKDIR /app
31
 
32
  # 复制 MCP 服务代码
33
  COPY --chown=user ./pyPDAF/mcp_output /app/pyPDAF/mcp_output
34
- COPY --chown=user ./requirements.txt /app/requirements.txt
35
 
36
- # 安装应依赖
37
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
38
 
39
  # 设置环境变量
40
  ENV PYTHONPATH=/app:$PYTHONPATH
@@ -44,4 +33,4 @@ ENV MCP_PORT=7860
44
  EXPOSE 7860
45
 
46
  # 启动 MCP 服务
47
- CMD ["python", "pyPDAF/mcp_output/start_mcp.py"]
 
1
+ FROM python:3.10-slim
 
 
 
 
 
 
 
 
 
 
2
 
3
  # 创建用户
4
  RUN useradd -m -u 1000 user && \
 
8
  ENV PATH="/home/user/.local/bin:$PATH"
9
  WORKDIR /app
10
 
11
+ # 复制 requirements.txt 并安装基础依赖
12
+ COPY --chown=user ./requirements.txt /app/requirements.txt
13
+ RUN pip install --no-cache-dir numpy fastmcp || true
14
 
15
+ # 尝试从 PyPI 安装 pyPDAF(如果可用)
16
+ # 如果失败,服务仍可启动,但会在调用时报错
17
+ RUN pip install --no-cache-dir pyPDAF || echo "pyPDAF not available from PyPI, using mock mode"
18
 
19
+ # 安装其他应用依赖
20
+ RUN pip install --no-cache-dir -r requirements.txt || true
21
 
22
  # 复制 MCP 服务代码
23
  COPY --chown=user ./pyPDAF/mcp_output /app/pyPDAF/mcp_output
 
24
 
25
+ # 复制 pyPDAF 源码(备,供参考)
26
+ COPY --chown=user ./pyPDAF/source /app/pyPDAF/source
27
 
28
  # 设置环境变量
29
  ENV PYTHONPATH=/app:$PYTHONPATH
 
33
  EXPOSE 7860
34
 
35
  # 启动 MCP 服务
36
+ CMD ["python", "-u", "pyPDAF/mcp_output/start_mcp.py"]