【Ollama】Docker部署Ollama完整指南

Docker部署Ollama完整指南

一、部署步骤

1. 准备工作

  • 确保Docker Desktop已安装并运行
  • 创建本地挂载目录:Z:\Tools\docker\ollama\models
  • 检查系统资源(推荐至少8GB内存)
  • GPU支持:如果需要GPU加速,确保安装了NVIDIA显卡驱动

2. 部署命令

CPU模式
powershell 复制代码
# 拉取Ollama镜像
docker pull ollama/ollama

# 运行容器(带持久化存储)
docker run -d `
  --name ollama `
  --restart unless-stopped `
  -p 11434:11434 `
  -v "Z:\Tools\docker\ollama\models:/root/.ollama" `
  -e OLLAMA_HOST=0.0.0.0 `
  ollama/ollama
GPU模式
powershell 复制代码
# 确保已安装NVIDIA Container Toolkit
# 运行容器(启用GPU支持)
docker run -d `
  --name ollama `
  --restart unless-stopped `
  --gpus=all `
  -p 11434:11434 `
  -v "Z:\Tools\docker\ollama\models:/root/.ollama" `
  -e OLLAMA_HOST=0.0.0.0 `
  ollama/ollama

3. 模型管理

powershell 复制代码
# 拉取模型
docker exec -it ollama ollama pull llama3:7b

# 查看已下载模型
docker exec -it ollama ollama list

# 删除模型
docker exec -it ollama ollama rm llama3:7b

二、使用方法

1. API访问

powershell 复制代码
curl http://localhost:11434/api/generate `
  -d '{"model": "llama3:7b", "prompt": "你好,介绍一下自己", "stream": false}'

2. 命令行交互

powershell 复制代码
docker exec -it ollama ollama run llama3:7b

3. Web界面

powershell 复制代码
# 安装OpenWebUI
docker run -d -p 3000:8080 --name open-webui ghcr.io/open-webui/open-webui:main

访问:http://localhost:3000

三、常见问题及解决方案

1. 模型消失问题

问题 :容器重启后模型消失
原因 :未正确配置持久化存储
解决方案:

  • 确保正确挂载本地目录到容器的/root/.ollama
  • 检查目录权限和路径格式
  • 重新拉取模型到挂载目录

2. 模型切换

功能 :支持在API请求中指定不同模型
方法 :在请求体中设置"model": "模型名称"
示例:

json 复制代码
{"model": "llama3:7b", "prompt": "你好", "stream": false}

3. 多模型使用

支持 :可以同时下载和使用多个模型
资源 :根据硬件资源选择合适的模型组合
管理 :使用ollama list查看已安装模型

4. GPU相关问题

问题 :GPU未被识别
解决方案:

  • 确保安装了最新的NVIDIA驱动
  • 安装NVIDIA Container Toolkit
  • 验证Docker是否支持GPU:docker run --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

四、最佳实践

1. 硬件资源

  • CPU模式:至少8GB内存(运行7B模型)
  • GPU模式 :
    • 推荐NVIDIA显卡,至少4GB显存
    • 支持CUDA 11.0+
    • 安装最新NVIDIA驱动和Container Toolkit
  • 存储:确保本地挂载目录有足够空间(每个模型约5-20GB)

2. 容器管理

  • 使用--restart unless-stopped确保容器自动启动
  • 定期更新Ollama镜像:docker pull ollama/ollama
  • 监控容器状态:docker stats ollama

3. 模型选择

  • 通用对话:llama3:8b, qwen2.5:7b
  • 复杂任务:llama3:70b, qwen2.5:14b
  • 代码开发:deepseek-coder:6.7b
  • 轻量部署:qwen2.5:3b, gemma:2b

4. 性能优化

  • GPU加速:启用GPU模式可显著提升模型推理速度(特别是大模型)
  • 对于频繁使用的模型,Ollama会缓存到内存中
  • 首次加载模型可能较慢,后续请求会更快
  • 根据硬件资源调整模型大小

五、GPU支持详情

1. GPU模式优势

  • 速度提升:相比CPU模式,推理速度可提升3-10倍
  • 支持更大模型:可以运行更大参数量的模型(如70B模型)
  • 更低延迟:生成响应的延迟显著降低

2. NVIDIA Container Toolkit安装

powershell 复制代码
# 安装NVIDIA Container Toolkit(Windows WSL2)
# 1. 确保WSL2已启用并安装Ubuntu
# 2. 在Ubuntu中执行:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -fsSL https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

3. 验证GPU支持

powershell 复制代码
# 验证Docker是否支持GPU
docker run --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

# 验证Ollama是否使用GPU
docker exec -it ollama ollama run llama3:7b
# 查看输出中是否有GPU相关信息
相关推荐
在角落发呆6 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
百度一下吧7 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学7 小时前
Docker镜像导入、容器启动
linux·运维·docker
回眸&啤酒鸭8 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j
闲云野鹤在人间8 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
资料库0110 小时前
Linux 8个常见运维故障排查
java·linux·运维
机核研创社10 小时前
睡裤明橡筋自动化选型指南与落地四步走
运维·自动化
志栋智能10 小时前
超自动化运维,告别复杂系统的新范式
运维·自动化
零基础12310 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言
Android系统攻城狮11 小时前
Linux Gstreamer深度解析之gst_audio_sink_get_type调用流程与实战(六十五)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶