docker镜像封装

docker安装(略…)

拉取ollama镜像

docker pull ollama/ollama  # 约1.98G

运行ollama容器

docker run -d -p 11434:11434 --name ollama ollama/ollama  # 前一个11434是宿主机要对外暴露的tcp端口,可自定义修改

进入ollama容器

docker exec -it ollama bash

从ollama模型库拉取模型

# ollama模型库: https://ollama.com/library
ollama pull llama3.1  # 约4.7G 为int4量化模型 模型会被下载在/root/.ollama文件夹

运行模型

ollama服务已经启动,无需特别手动运行
调用API方法,可参考OpenAI规范,简单示例如下

# linxu可以使用以下curl命令
curl --location --request POST 'http://xx.xx.xx.xx:11434/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
    "model": "llama3.1",
    "messages": [
        {
        "role": "user",
        "content": "你好"
        }
    ],
    "stream": false
}'

# windows可以在cmd中使用以下curl命令
curl --request POST "http://127.0.0.1:11434/v1/chat/completions" --header "Content-Type: application/json" --data-raw "{\"model\": \"llama3.1\",\"messages\": [{\"role\": \"user\",\"content\": \"你好\"}],\"stream\": false}"

存储当前容器(快照)

docker commit ollama my_ollama_image:v1  # v1为自定义版本号
docker save -o my_ollama_image_v1.tar my_ollama_image:v1  # 保存为镜像文件
使用zip压缩与解压缩(可选)
zip my_ollama_image_v1.zip my_ollama_image_v1.tar  # 将tar压缩成zip文件,减小体积,约从8.3G压缩到6.5G
unzip my_ollama_image_v1.zip  # 将zip解压缩成tar文件
文件切割(可选)
split -b 3G my_ollama_image_v1.tar my_ollama_image_  # 切割成 my_ollama_image_aa、my_ollama_image_ab、my_ollama_image_ac
cat my_ollama_image_* > my_ollama_image_v1.tar  # 将 my_ollama_image_* 多个文件合并成 my_ollama_image_v1.tar
# copy /b my_ollama_image_aa + my_ollama_image_ab + my_ollama_image_ac my_ollama_image_v1.tar  # windows cmd命令

一键部署

加载快照镜像文件

docker load -i my_ollama_image_v1.tar  # 在cmd(windows)等终端中运行命令
运行快照容器
# 前台测试运行
# docker run --rm -p 11434:11434 --name my_ollama my_ollama_image:v1

# 后台运行
docker run -d -p 11434:11434 --name my_ollama my_ollama_image:v1

注意事项

# 可以3分钟轮询一次ollama模型接口,避免模型卸载和冷启动,提高响应速度(可选)

附:

  1. 常见命令
    ollama serve #启动ollama
    ollama create #从模型文件创建模型
    ollama show #显示模型信息
    ollama run #运行模型
    ollama pull #从注册表中拉取模型
    ollama push #将模型推送到注册表
    ollama list #列出模型
    ollama cp #复制模型
    ollama rm #删除模型
    ollama help #获取有关任何命令的帮助信息

  2. GPU利用
    使用GPU需要安装 NVIDIA Container Toolkit⁠: https://hub.docker.com/r/ollama/ollama

  3. 从huggingface下载ollama可用的gguf模型
    推荐用镜像站hf-mirror(给前同事打个广告)
    有些大佬已经把几乎所有主流开源模型的gguf量化模型都整理好了,比如https://hf-mirror.com/bartowski
    如果想使用Qwen2.5-7B模型,可以在这个模型页选择适合自己算力需求的模型下载
    https://hf-mirror.com/bartowski/Qwen2.5-7B-Instruct-GGUF/tree/main

更多推荐