来自豆包
将Ollama部署到Docker的步骤如下:
一、安装Docker环境
- 启用系统功能(Windows系统):
- 打开“控制面板” → “程序与功能” → “启用或关闭Windows功能”。
- 勾选 Hyper-V、虚拟机平台、Linux子系统(WSL)。
- 重启电脑使配置生效。
- 安装Docker Desktop:
- 访问 Docker官网,下载并安装Docker Desktop。
- 启动Docker Desktop,确保左下角状态显示为绿色“Running”。
- 验证安装:
- 打开终端(PowerShell或CMD),输入命令:
bash
docker --version - 若显示版本号(如
Docker version 28.0.0
),则安装成功。
- 打开终端(PowerShell或CMD),输入命令:
二、拉取Ollama Docker镜像
- 下载镜像:
- 在终端执行命令,从Docker Hub拉取Ollama官方镜像:
bash
docker pull ollama/ollama - 若需指定版本(如旧版),可在镜像名后添加标签(如
ollama/ollama:v0.1.0
)。
- 在终端执行命令,从Docker Hub拉取Ollama官方镜像:
- 验证镜像:
- 输入命令查看已下载的镜像:
bash
docker images - 确认列表中包含
ollama/ollama
。
- 输入命令查看已下载的镜像:
三、运行Ollama容器
- 基础运行命令(仅CPU模式):
- 启动容器并映射端口(默认11434),挂载数据卷以持久化存储模型:
bash
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama -d
:后台运行容器。-v ollama:/root/.ollama
:将宿主机的ollama
命名卷挂载到容器内,避免模型数据丢失。-p 11434:11434
:将容器端口映射到宿主机,通过http://localhost:11434
访问服务。--name ollama
:指定容器名称。
- 启动容器并映射端口(默认11434),挂载数据卷以持久化存储模型:
- GPU加速模式:
- NVIDIA GPU:需安装NVIDIA Container Toolkit,运行命令:
bash
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama --gpus=all
:允许容器访问宿主机所有NVIDIA GPU。
- AMD GPU:需使用支持ROCm的Ollama镜像,运行命令:
bash
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm --device /dev/kfd --device /dev/dri
:映射AMD GPU所需设备文件。
- NVIDIA GPU:需安装NVIDIA Container Toolkit,运行命令:
四、验证Ollama服务
- 检查容器状态:
- 输入命令查看容器是否运行:
bash
docker ps - 确认列表中包含
ollama
容器,且状态为Up
。
- 输入命令查看容器是否运行:
- 访问服务:
- 打开浏览器,访问
http://localhost:11434
。 - 若显示“Ollama is running”,则部署成功。
- 打开浏览器,访问
五、管理模型
- 拉取模型:
- 进入容器交互模式:
bash
docker exec -it ollama bash - 在容器内拉取模型(如
llama3
):bashollama pull llama3 - 或直接在宿主机执行:
bash
docker exec -it ollama ollama pull llama3
- 进入容器交互模式:
- 运行模型:
- 在容器内运行模型:
bash
ollama run llama3 - 或通过API调用(需配置外部工具):
python
import requests response = requests.post("http://localhost:11434/api/generate", json={"model": "llama3", "prompt": "Hello"}) print(response.json())
- 在容器内运行模型:
六、高级配置(可选)
- 自定义模型:
- 通过
Modelfile
定义模型参数(如量化、提示词),示例:dockerfileFROM llama3 PARAMETER temperature 0.8 SYSTEM "你是一个中文助手,回答需简洁专业。" - 创建自定义模型:
bash
ollama create my_model -f Modelfile
- 通过
- 公网访问:
- 使用内网穿透工具(如
cpolar
)映射端口:bashcpolar http 11434 - 生成公网地址后,通过浏览器访问。
- 使用内网穿透工具(如
常见问题解决
- GPU支持失败:
- 确认已安装驱动及CUDA/ROCm工具包。
- 检查命令是否包含
--gpus=all
或--device
参数。
- 端口冲突:
- 修改
OLLAMA_PORT
环境变量或调整Docker映射端口。
- 修改
- 模型下载失败:
- 检查网络代理或更换镜像源。
- 确保容器内有足够存储空间。