【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相关信息
相关推荐
不恋水的雨13 小时前
docker安装clickhouse数据库容器
clickhouse·docker·容器
wanhengidc13 小时前
云手机的兼容性与稳定性
大数据·运维·服务器·网络·人工智能·智能手机
Web极客码14 小时前
2026年自建网站实战指南:从服务器到上线的完整方案
运维·服务器·php
念何架构之路14 小时前
负载均衡详解
运维·php·负载均衡
Mortalbreeze14 小时前
深度理解进程 ---- 进程优先级、进程切换、进程调度算法
linux·运维·服务器
故事还在继续吗14 小时前
线程池技术详解
运维·服务器·线程池技术
chengpei14714 小时前
服务器挂载远程samba磁盘实现千兆内网满速传输
运维·服务器
WUYOUGYLU14 小时前
服务器选型、计费与运维:一篇给实战用的指南
运维·服务器
在角落发呆14 小时前
转发服务器设置,转发服务器如何设置
运维·服务器
十年编程老舅14 小时前
深度长文|Linux 图形与显示架构
linux·运维·后端·架构·内核·linux内核·通信机制