
1. 项目概述最近在部署Ollama的GPU版本时发现官方文档对Docker Compose方式的说明比较简略。经过多次实践我整理出一套完整的部署方案特别适合需要快速搭建本地大语言模型开发环境的朋友。这个方案在NVIDIA显卡RTX 3060及以上的Linux系统上测试通过相比CPU版本可以获得5-8倍的推理速度提升。2. 环境准备2.1 硬件要求首先确认你的硬件配置满足以下条件NVIDIA显卡建议RTX 3060 12GB及以上至少16GB系统内存32GB更佳50GB可用磁盘空间模型文件体积较大注意笔记本显卡可能因功耗限制无法发挥全部性能建议使用台式机工作站2.2 软件依赖需要预先安装的软件包# Ubuntu/Debian系统 sudo apt update sudo apt install -y \ docker-ce \ docker-ce-cli \ containerd.io \ nvidia-container-toolkit验证NVIDIA驱动安装正确nvidia-smi应该能看到类似如下的输出----------------------------------------------------------------------------- | NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 | |---------------------------------------------------------------------------3. Docker Compose配置3.1 基础配置文件创建docker-compose.yml文件version: 3.8 services: ollama: image: ollama/ollama:latest container_name: ollama runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] volumes: - ollama_data:/root/.ollama ports: - 11434:11434 restart: unless-stopped volumes: ollama_data:关键配置说明runtime: nvidia启用NVIDIA容器运行时capabilities: [gpu]声明需要GPU支持卷挂载持久化存储模型文件3.2 性能优化配置对于高性能需求可以添加以下参数environment: - OLLAMA_NUM_PARALLEL2 - OLLAMA_MAX_LOADED_MODELS34. 部署与验证4.1 启动服务docker-compose up -d检查容器日志docker logs ollama正常启动后应该看到Starting ollama... Listening on [::]:114344.2 测试GPU加速进入容器执行测试docker exec -it ollama ollama pull llama2 docker exec -it ollama ollama run llama2 写一段关于人工智能的诗观察nvidia-smi的输出应该能看到显存占用和GPU利用率。5. 常见问题排查5.1 GPU未被识别症状模型加载速度与CPU版本无异解决方案确认nvidia-container-toolkit已安装重启docker服务sudo systemctl restart docker检查容器运行时配置docker info | grep -i runtime5.2 显存不足症状加载大模型时崩溃处理方法选择较小尺寸的模型如7B版本调整加载参数docker exec -it ollama ollama run llama2:7b添加交换空间临时方案sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile5.3 模型下载中断解决方案手动下载模型文件wget -O ollama_data/_models/llama2 https://example.com/model.bin重启容器后重新pull6. 高级配置技巧6.1 多GPU分配如果有多个GPU可以指定使用特定设备environment: - NVIDIA_VISIBLE_DEVICES0,1 # 使用前两块GPU6.2 模型缓存管理查看已下载模型docker exec -it ollama ollama list删除不需要的模型释放空间docker exec -it ollama ollama rm llama26.3 性能监控实时查看GPU使用情况watch -n 1 nvidia-smi容器资源监控docker stats ollama7. 实际应用建议开发环境配置export OLLAMA_HOSThttp://localhost:11434然后在代码中直接调用本地API推荐的基础模型组合代码生成codellama:7b通用对话llama2:13b中文处理chinese-llama2:7b对于持续集成环境建议添加健康检查healthcheck: test: [CMD, curl, -f, http://localhost:11434] interval: 30s timeout: 10s retries: 3这套配置在我团队的开发环境中已经稳定运行3个月相比直接安装省去了大量依赖管理的工作。特别是在多项目切换时Docker的隔离性避免了环境冲突问题。最大的收获是发现Ollama对消费级显卡的优化相当不错RTX 4090上跑13B模型的性能已经接近商用API的响应速度