使用docker中的ollama

假设容器名字为ollama-qihuang

进入容器,拉取deepseek-r1:7b模型:

复制代码
docker exec -it ollama-qihuang bash
ollama pull deepseek-r1:7b

Ollama 模型管理教程(容器名:ollama-qihuang)

一、拉取官方模型(以 llama2 为例)
bash 复制代码
# 进入Ollama容器的交互式Shell
docker exec -it ollama-qihuang bash

# 使用ollama CLI拉取官方模型(如llama2:7b)
ollama pull llama2:7b

# 退出容器
exit
二、验证官方模型是否成功拉取
bash 复制代码
# 查看所有已下载的模型
docker exec ollama-qihuang ollama list

# 预期输出(示例)
# NAME         TYPE     SIZE        MODIFIED
# llama2:7b    model    13.43 GB    2023-10-01 12:00:00

三、部署本地微调模型(以 deepseek-r1:7b-finetune 为例)

步骤 1:准备本地模型文件
  1. 将微调后的模型文件(通常为 GGML 格式)放入宿主机目录:

    bash 复制代码
    mkdir -p ~/qihuang/ollama/models/custom-models
    cp /path/to/your/finetuned-model.bin ~/qihuang/ollama/models/custom-models/deepseek-r1:7b-finetune.bin
步骤 2:重启容器以加载新模型
bash 复制代码
# 停止并重新启动容器(确保挂载路径正确)
docker restart ollama-qihuang

# 或重新创建容器(适用于首次部署)
docker run -d \
  --name ollama-qihuang \
  -p 9034:11434 \
  -v ~/qihuang/ollama/models:/models \  # 挂载包含微调模型的目录
  ollama/ollama:latest serve
步骤 3:通过 API 创建模型别名(可选)
bash 复制代码
curl -X POST http://localhost:9034/api/create \
  -H "Content-Type: application/json" \
  -d '{
    "name": "deepseek-r1:7b-finetune",
    "path": "/models/custom-models/deepseek-r1:7b-finetune.bin",
    "alias": "my-finetuned-model"
  }'

四、使用模型进行推理

1. 调用官方模型(llama2:7b)
bash 复制代码
curl http://localhost:9034/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama2:7b",
    "prompt": "写一首关于秋天的诗",
    "temperature": 0.8
  }' | jq
2. 调用本地微调模型(deepseek-r1:7b-finetune)
bash 复制代码
curl http://localhost:9034/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1:7b-finetune",  # 或使用别名"my-finetuned-model"
    "prompt": "根据微调数据回答问题:xxx",
    "system": "你是一个专业的领域专家"
  }' | jq

五、模型管理常用命令

操作 命令示例
查看所有模型 docker exec ollama-qihuang ollama list
删除指定模型 docker exec ollama-qihuang ollama delete llama2:7b
查看模型详细信息 docker exec ollama-qihuang ollama info deepseek-r1:7b-finetune
列出正在运行的模型 docker exec ollama-qihuang ollama running

六、注意事项

  1. 模型路径映射

    确保宿主机目录~/qihuang/ollama/models与容器内路径/models正确挂载,否则无法识别本地模型。

  2. 模型格式要求

    Ollama 支持 GGML 格式(.bin文件),微调模型需转换为 Ollama 兼容的格式(可通过ollama convert命令处理)。

  3. 权限问题

    若出现权限不足,需确保宿主机目录对 Docker 用户可读:

    bash 复制代码
    chmod -R 755 ~/qihuang/ollama/models

七、进阶操作:量化模型以减少显存占用

bash 复制代码
# 进入容器创建4位量化模型
docker exec -it ollama-qihuang bash
ollama create deepseek-r1:7b-finetune-q4 -s deepseek-r1:7b-finetune -q q4_0
exit

# 使用量化模型推理
curl http://localhost:9034/api/generate -d '{
  "model": "deepseek-r1:7b-finetune-q4",
  "prompt": "量化模型测试"
}'

通过以上步骤,可快速管理 Ollama 的官方模型和自定义微调模型。如需调整容器端口或 GPU 配置,可参考Ollama 官方文档

相关推荐
探云抛雾؁ۣۖ几秒前
云计算---k8s运维~创建pod与pod的安全策略
运维·kubernetes·云计算
mjy_1115 分钟前
Linux下的软件编程——文件IO
java·linux·运维
奥格列的魔法拖鞋~21 分钟前
Mac配置服务器工具Royal TSX
运维·服务器·royal tsx
失因1 小时前
Web 服务详解:HTTP 与 HTTPS 配置
linux·运维·前端·http·https
cpsvps_net2 小时前
容器安全扫描工具在海外云服务器环境的集成方法
运维·服务器·安全
小白不想白a2 小时前
【K8s】K8s控制器——复制集和deployment
云原生·容器·kubernetes
hhzz2 小时前
一键设置 NTP & 时区的脚本(亲测,适用于部署 K8S 的前置环境)
云原生·容器·kubernetes
hl04062 小时前
GitLab CI + Docker 自动构建前端项目并部署 — 完整流程文档
ci/cd·docker·gitlab
skywalk81632 小时前
vagrant和itamae怎么配合使用? (放弃)
运维·前端·ruby·vagrant
先天打工圣体的男人2 小时前
Linux环境gitlab多种部署方式及具体使用
运维·git·gitlab