guohanghui commited on
Commit
80b4f84
·
verified ·
1 Parent(s): 1f338d0

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -26
Dockerfile CHANGED
@@ -1,37 +1,22 @@
1
- FROM python:3.10
2
-
3
- # 安装系统依赖
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
- git \
12
- && rm -rf /var/lib/apt/lists/*
13
-
14
- RUN useradd -m -u 1000 user && \
15
- python -m pip install --upgrade pip
16
 
 
17
  USER user
18
- ENV PATH="/home/user/.local/bin:$PATH"
19
  WORKDIR /app
20
 
21
- # 克隆完整的仓库(包含 submodule)
22
- RUN git clone --recursive https://github.com/yumengch/pyPDAF.git pyPDAF_repo
 
23
 
24
- # 安装 pyPDAF
25
- WORKDIR /app/pyPDAF_repo
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
  COPY --chown=user ./pyPDAF/mcp_output /app/pyPDAF/mcp_output
32
  COPY --chown=user ./requirements.txt /app/requirements.txt
33
 
34
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
35
 
36
  ENV PYTHONPATH=/app:$PYTHONPATH
37
  ENV MCP_TRANSPORT=http
@@ -39,4 +24,4 @@ ENV MCP_PORT=7860
39
 
40
  EXPOSE 7860
41
 
42
- CMD ["python", "pyPDAF/mcp_output/start_mcp.py"]
 
1
+ FROM continuumio/miniconda3:latest
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
+ RUN useradd -m -u 1000 user
4
  USER user
 
5
  WORKDIR /app
6
 
7
+ # 创建 conda 环境并安装 pyPDAF
8
+ RUN conda create -n pypdaf -c conda-forge yumengch::pypdaf python=3.10 -y && \
9
+ conda clean -afy
10
 
11
+ # 激活环境
12
+ SHELL ["conda", "run", "-n", "pypdaf", "/bin/bash", "-c"]
 
 
13
 
14
+ # 复制应用代码
 
15
  COPY --chown=user ./pyPDAF/mcp_output /app/pyPDAF/mcp_output
16
  COPY --chown=user ./requirements.txt /app/requirements.txt
17
 
18
+ # 安装其他依赖
19
+ RUN pip install --no-cache-dir -r requirements.txt
20
 
21
  ENV PYTHONPATH=/app:$PYTHONPATH
22
  ENV MCP_TRANSPORT=http
 
24
 
25
  EXPOSE 7860
26
 
27
+ CMD ["conda", "run", "--no-capture-output", "-n", "pypdaf", "python", "pyPDAF/mcp_output/start_mcp.py"]