【docker】ollama的docker-compose及一些启动踩坑

摘要:本文介绍了使用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下载的模型各平台通用,在其他地方如果下载好了,直接拉到这里存放模型的目录就能直接加载。

相关推荐
腾渊信息科技公司8 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
Dxy12393102168 小时前
Proxy Protocol v2 详解
运维
踏月的造梦星球8 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
潘正翔9 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia19 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Dovis(誓平步青云)11 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
Java小白笔记11 小时前
Docker 安装配置完全指南:MacOS 、Windows、Linux环境下的安装、配置与验证
linux·macos·docker
csdn_aspnet12 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github
Inhand陈工13 小时前
数据中心UPS无功补偿与智能化监控方案:基于IG502的Modbus RTU转IEC61850实战
运维·人工智能·物联网·信息与通信
qetfw13 小时前
CentOS 7 搭建 LDAP 目录服务
linux·运维·centos