docker安装Ollama并使用本地模型
官方文档:https://github.com/ollama/ollama
官方镜像地址:https://hub.docker.com/r/ollama/ollama
一、前提条件
1.1 安装docker使用的显卡驱动(NVIDIA)
Apt存储库
配置存储库
bash
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update安装 NVIDIA Container Toolkit 软件包
bash
#先更新源
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit加载配置
sudo nvidia-ctk runtime configure --runtime=docker
systemctl daemon-reload && systemctl restart dockerYum 或 Dnf 存储库
配置存储库
bash
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo安装 NVIDIA Container Toolkit 软件包
bash
sudo yum install -y nvidia-container-toolkit加载配置
sudo nvidia-ctk runtime configure --runtime=docker
systemctl daemon-reload && systemctl restart docker1.2 虚拟化CPU支持AVX
比如PVE8.x版本的CPU虚拟机默认用的是x86-64-v2-AES,需要改为x86-64-v3或者x86-64-v4,否则不兼容gpu,会直接只有CPU计算,ollama默认会先使用GPU, 如果GPU资源无法使用或者没有,则使用CPU
二、安装
参考文档:https://github.com/datawhalechina/handy-ollama/blob/main/docs/C2/4. Ollama 在 Docker 下的安装与配置.md
三、仅运行CPU容器
docker run -d --restart always -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama3.1 启动NVIDIA GPU容器
bash
docker run -d --gpus=all --restart always -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama3.2 启动AMD GPU容器
bash
docker run -d --device /dev/kfd --device /dev/dri --restart always -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm四、运行本地模型
模型列表:https://ollama.com/library
安装模型注意选择适配的模型大小,比如7b,这个跟自己的硬件资源,如显存和内存有关。不要随便选择太大的模型。
举个例子,安装ollama run llama3.2-vision模型(1b)
4.1 安装llama3.2-vision模型
docker exec -it ollama ollama run llama3.2-vision也可以进入容器执行:
ollama run llama3.2-vision4.2 删除llama3.2-vision模型
docker exec -it ollama ollama rm llama3.2-vision也可以进入容器执行:
ollama rm llama3.2-vision