oo / Dockerfile
jljiu's picture
Update Dockerfile
3b7ade9 verified
raw
history blame
1.36 kB
# 基础镜像使用Python 3.9
FROM python:3.9
# 设置工作目录
WORKDIR /app
# 安装系统依赖
RUN apt-get update && apt-get install -y curl sudo fontconfig
# 设置所有环境变量到 /tmp 目录下
ENV OLLAMA_HOME=/.ollama
ENV GRADIO_TEMP_DIR=/tmp/gradio
ENV MPLCONFIGDIR=/tmp/matplotlib
ENV FONTCONFIG_PATH=/tmp/fontconfig
ENV XDG_CACHE_HOME=/tmp/cache
# 创建必要的目录并设置权限
RUN mkdir -p ${OLLAMA_HOME} \
&& mkdir -p ${GRADIO_TEMP_DIR} \
&& mkdir -p ${MPLCONFIGDIR} \
&& mkdir -p ${FONTCONFIG_PATH} \
&& mkdir -p ${XDG_CACHE_HOME} \
&& chmod -R 777 /tmp \
&& chmod -R 777 ${OLLAMA_HOME}
# 确保/app目录可写
RUN chmod -R 777 /app
# 安装Ollama
RUN curl -L https://ollama.ai/install.sh | sh
# 安装Gradio及其依赖
RUN pip install gradio requests
# 下载模型文件
RUN curl -L https://huggingface.co/shenzhi-wang/Llama3.1-8B-Chinese-Chat/resolve/main/gguf/llama3.1_8b_chinese_chat_q8_0.gguf?download=true -o /app/llama3.1_8b_chinese_chat_q8_0.gguf
# 将当前目录下的所有文件复制到容器内的/app目录
COPY . /app
# 启动Ollama服务并放到后台运行
RUN nohup ollama serve > /dev/null 2>&1 &
# 等待Ollama服务启动
RUN sleep 10
# 创建Ollama模型
RUN ollama create llama3-zh -f /app/Modelfile
# 启动Ollama服务和Gradio应用
CMD ollama serve & python app.py