ll4b / Dockerfile
nagose's picture
Update Dockerfile
9efc536 verified
Raw
History Blame Contribute Delete
1.09 kB
# 第一阶段:从官方镜像中提取 llama-server 可执行文件
FROM ghcr.io/ggerganov/llama.cpp:server as llama
# 第二阶段:构建你的 FastAPI 环境
FROM python:3.10-slim
WORKDIR /app
# 从第一阶段复制 llama-server 到当前镜像的 /usr/local/bin/
COPY --from=llama /app/llama-server /usr/local/bin/llama-server
# 安装系统依赖(如果需要)
RUN apt-get update && apt-get install -y \
&& rm -rf /var/lib/apt/lists/*
# 复制 Python 依赖文件并安装
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 复制应用代码
COPY app.py .
# 创建目录用于存放模型文件(可通过 Volume 挂载或下载)
RUN mkdir -p /models
# 暴露端口:llama-server 默认 8080,FastAPI 默认 7860
EXPOSE 8080 7860
# 启动脚本:先启动 llama-server(后台),再启动 uvicorn(前台)
CMD sh -c "llama-server --model /models/Qwen3.5-4B-Q4_K_M.gguf --host 127.0.0.1 --port 8080 --ctx-size 4096 & \
uvicorn app:app --host 0.0.0.0 --port 7860"