当前位置: 首页 > news >正文

离线轻量大模型,Ollama部署到docker方法

来自豆包

将Ollama部署到Docker的步骤如下:

一、安装Docker环境

  1. 启用系统功能(Windows系统):
    • 打开“控制面板” → “程序与功能” → “启用或关闭Windows功能”。
    • 勾选 Hyper-V、虚拟机平台、Linux子系统(WSL)。
    • 重启电脑使配置生效。
  2. 安装Docker Desktop:
    • 访问 Docker官网,下载并安装Docker Desktop。
    • 启动Docker Desktop,确保左下角状态显示为绿色“Running”。
  3. 验证安装:
    • 打开终端(PowerShell或CMD),输入命令:
      bash
      docker --version
    • 若显示版本号(如Docker version 28.0.0),则安装成功。

二、拉取Ollama Docker镜像

  1. 下载镜像:
    • 在终端执行命令,从Docker Hub拉取Ollama官方镜像:
      bash
      docker pull ollama/ollama
    • 若需指定版本(如旧版),可在镜像名后添加标签(如ollama/ollama:v0.1.0)。
  2. 验证镜像:
    • 输入命令查看已下载的镜像:
      bash
      docker images
    • 确认列表中包含ollama/ollama

三、运行Ollama容器

  1. 基础运行命令(仅CPU模式):
    • 启动容器并映射端口(默认11434),挂载数据卷以持久化存储模型:
      bash
      docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
      • -d:后台运行容器。
      • -v ollama:/root/.ollama:将宿主机的ollama命名卷挂载到容器内,避免模型数据丢失。
      • -p 11434:11434:将容器端口映射到宿主机,通过http://localhost:11434访问服务。
      • --name ollama:指定容器名称。
  2. GPU加速模式:
    • NVIDIA GPU:需安装NVIDIA Container Toolkit,运行命令:
      bash
      docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
      • --gpus=all:允许容器访问宿主机所有NVIDIA GPU。
    • AMD GPU:需使用支持ROCm的Ollama镜像,运行命令:
      bash
      docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
      • --device /dev/kfd --device /dev/dri:映射AMD GPU所需设备文件。

四、验证Ollama服务

  1. 检查容器状态:
    • 输入命令查看容器是否运行:
      bash
      docker ps
    • 确认列表中包含ollama容器,且状态为Up
  2. 访问服务:
    • 打开浏览器,访问http://localhost:11434
    • 若显示“Ollama is running”,则部署成功。

五、管理模型

  1. 拉取模型:
    • 进入容器交互模式:
      bash
      docker exec -it ollama bash
    • 在容器内拉取模型(如llama3):
      bash
      ollama pull llama3
    • 或直接在宿主机执行:
      bash
      docker exec -it ollama ollama pull llama3
  2. 运行模型:
    • 在容器内运行模型:
      bash
      ollama run llama3
    • 或通过API调用(需配置外部工具):
      python
      import requests
      response = requests.post("http://localhost:11434/api/generate", json={"model": "llama3", "prompt": "Hello"})
      print(response.json())

六、高级配置(可选)

  1. 自定义模型:
    • 通过Modelfile定义模型参数(如量化、提示词),示例:
      dockerfile
      FROM llama3
      PARAMETER temperature 0.8
      SYSTEM "你是一个中文助手,回答需简洁专业。"
    • 创建自定义模型:
      bash
      ollama create my_model -f Modelfile
  2. 公网访问:
    • 使用内网穿透工具(如cpolar)映射端口:
      bash
      cpolar http 11434
    • 生成公网地址后,通过浏览器访问。

常见问题解决

  • GPU支持失败:
    • 确认已安装驱动及CUDA/ROCm工具包。
    • 检查命令是否包含--gpus=all--device参数。
  • 端口冲突:
    • 修改OLLAMA_PORT环境变量或调整Docker映射端口。
  • 模型下载失败:
    • 检查网络代理或更换镜像源。
    • 确保容器内有足够存储空间。
http://www.hskmm.com/?act=detail&tid=23690

相关文章:

  • 应用拓扑讲义整理 Chapter 6. 单纯复形(Simplicial Complexes)
  • 完整教程:华为麒麟9010、9020、9030、9040系列芯片的性能参数及其与高通芯片的对比
  • AQS(ReentrantLock)源码浅析
  • 05. 事件处理
  • 总结问题2 软工10.3
  • BPL包无法调试的问题
  • 信息科学与数据分析:真正的区别是什么?
  • 最短路练习
  • 杂题,为什么博客的标题必须互异
  • 学习笔记:压位高精
  • 吉司机 + 历史和练习
  • 近期杂题,怎么重名了
  • vp 记录 edu 181
  • 状压 DP
  • 近期杂题
  • 学习笔记:分拆数与 Ferrers 图
  • DDP 与全局平衡二叉树
  • 并查集 D. Shark [Codeforces Round 484(Div. 2)]
  • 实用指南:Spark核心技术解析:从RDD到Dataset的演进与实践
  • 随笔0
  • 加密算法基本原理、特点及采用场景
  • Hackersdaddy ROUGE CTF 2025 完整解题记录
  • AI元人文系列:透明推理者——下一代大模型架构设计
  • 个人随笔
  • 实用指南:1、docker入门简介
  • 调试parlant的大模型配置,最终自己动手写了g4f的模块挂载 - 教程
  • PowerShell注意点
  • 太极 - MKT
  • 题解:P12410 「知りたくなかった、失うのなら」
  • unity面向组合开发二:EC的代码实践