diff --git a/Dockerfile b/Dockerfile index b20f04f..9491160 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,38 +1,46 @@ -FROM python:3.12-slim +FROM condaforge/mambaforge:latest + +ARG MAMBA_DOCKERFILE_ACTIVATE=1 -# 设置工作目录 WORKDIR /app -# 设置环境变量 ENV PYTHONPATH=/app ENV PYTHONUNBUFFERED=1 -# 安装系统依赖 -RUN apt-get update && apt-get install -y \ - gcc \ - g++ \ +# Install dependencies in micromamba base env +RUN mamba install -y -c conda-forge \ + python=3.12 \ + pip \ curl \ unzip \ - && rm -rf /var/lib/apt/lists/* + c-compiler \ + cxx-compiler \ + ca-certificates \ + vim \ + && mamba clean -a -y -# 复制项目文件 COPY pyproject.toml ./ COPY fastapi_server/requirements.txt ./fastapi_server/ COPY lang_agent/ ./lang_agent/ COPY fastapi_server/ ./fastapi_server/ -# download req files -RUN curl -o ./.env http://6.6.6.86:8888/download/resources/.env -RUN curl -o ./assets.zip http://6.6.6.86:8888/download/resources/assets.zip -RUN unzip assets.zip -RUN rm assets.zip +# RUN curl -o ./.env http://6.6.6.86:8888/download/resources/.env + # && \ + # curl -o ./assets.zip http://6.6.6.86:8888/download/resources/assets.zip && \ + # unzip assets.zip && \ + # rm assets.zip -# 安装Python依赖 -RUN pip install --no-cache-dir -r fastapi_server/requirements.txt -RUN pip install --no-cache-dir -e . +# Install Python dependencies inside micromamba env +RUN python -m pip install --upgrade pip && \ + python -m pip install --no-cache-dir -r fastapi_server/requirements.txt \ + -i https://mirrors.aliyun.com/pypi/simple/ \ + --trusted-host mirrors.aliyun.com \ + --default-timeout=300 && \ + python -m pip install --no-cache-dir -e . \ + -i https://mirrors.aliyun.com/pypi/simple/ \ + --trusted-host mirrors.aliyun.com \ + --default-timeout=300 -# 暴露端口 EXPOSE 8488 -# 启动命令 -CMD ["python", "fastapi_server/server_dashscope.py"] \ No newline at end of file +CMD ["micromamba", "run", "-n", "base", "python", "fastapi_server/server_dashscope.py"] \ No newline at end of file