摘要:本文介绍了使用docker-compose配置ollama服务的详细方法。配置包括指定镜像版本、设置端口映射、数据卷挂载和环境变量等核心参数,特别针对GPU使用、内存分配和并行处理进行了优化设置。文章强调服务器配置差异对性能的影响,建议根据实际硬件调整参数,并提醒需提前安装NVIDIA显卡驱动。同时指出ollama模型具有跨平台通用性,支持直接加载预下载模型。
通过docker-compose启动ollama可以进行以下配置:
bash
services:
ollama:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ollama/ollama:0.13.5 # 镜像名称替换为自己的
container_name: ollama-0.13.5 # 容器名称
ports:
- "21434:11434" # 端口
volumes:
- ./ollama-data:/home/ollama/.ollama # 冒号前面修改为本机的文件夹
- /etc/localtime:/etc/localtime:ro # 设置与宿主机时间同步
environment:
- TZ=Asia/Shanghai
- OLLAMA_MODELS=/home/ollama/.ollama/models # 容器内存放模型的位置
- OLLAMA_ORIGINS=*
- OLLAMA_NUM_PARALLEL=1 # 增加并行处理数
- OLLAMA_MAX_LOADED_MODELS=1 # 可同时加载更多模型
- OLLAMA_GPU_LAYERS=999 # 充分利用RTX 5070 Ti
- OLLAMA_KEEP_ALIVE=15m # 延长模型保持时间
- OLLAMA_FLASH_ATTENTION=true # 启用Flash Attention
- OLLAMA_CONTEXT_LENGTH=4096 # 适中上下文长度
- OLLAMA_KV_CACHE_TYPE=q8_0 # 量化KV缓存 # 高精度需求场景f16 # 平衡场景(推荐)q8_0 # 内存受限场景 q4_0
deploy:
resources:
limits:
memory: 28G # 根据自己的服务器性能配置
cpus: '24' # 分配大部分CPU资源
reservations:
memory: 24G # 提高内存预留确保性能
cpus: '16' # 预留充足CPU核心
devices: # 使用GPU启动模型,需要提前装好显卡驱动,不然可能仍以CPU加载
- driver: nvidia
count: all
capabilities: [gpu]
runtime: nvidia
restart: unless-stopped
networks:
- llm-net
服务器配置不同,ollama启动模型后性能差别很大。
后半部分一些参数是优化项,根据自己的服务器的性能去配置,不配置也能启动,以默认配置、cpu加载模型,速度慢。
英伟达的显卡需要提前把驱动装好,网上有很详细的教程可以搜索参考。
ollama下载的模型各平台通用,在其他地方如果下载好了,直接拉到这里存放模型的目录就能直接加载。