AI服务器上如何用Docker与Ollama搭好LLMOps运行环境

LLMOps 要管的是模型从上线到迭代的整个运行链路,第一步是把推理服务稳定跑在服务器上。
对只有一两台 GPU 服务器的场景,用 Docker 加 Ollama 搭一个可复现的模型运行环境,比直接裸机运行更容易回滚和迁移。
下面按准备、操作、避坑、验证的顺序讲清楚。

先把 GPU 和容器运行时确认好

在装任何模型服务之前,先确认两件事:驱动能识别显卡,Docker 能把 GPU 透传给容器。
登录服务器后执行:

nvidia-smi

输出中能看到显卡型号、驱动版本和显存占用即可。
接着检查 Docker 是否已经配置 NVIDIA 运行时:

docker info | grep -i runtimes

如果列表里没有 nvidia,需要安装 nvidia-container-toolkit 并重启 Docker。
以常见 Debian/Ubuntu 系统为例,先按 NVIDIA 官方文档添加软件源,再执行:

sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

完成后用一个小测试镜像验证 GPU 是否真的进了容器:

docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

镜像标签按服务器实际 CUDA 版本选择,不必照抄。
能在容器内看到 nvidia-smi 输出,说明运行时链路没问题,再往下走。

启动 Ollama 并让模型服务常驻

Ollama 适合作为 LLMOps 里的模型运行层,它负责拉取模型、加载到显存并提供 HTTP 接口。
用 Docker 启动时把模型目录挂载到宿主机,容器重建后模型不用重新下载:

docker run -d --gpus all --name ollama \
  -p 11434:11434 \
  -v /data/ollama:/root/.ollama \
  --restart unless-stopped \
  ollama/ollama:latest

-v 后面的路径按服务器磁盘规划替换,建议放在空间充足的数据盘。
容器起来后拉取一个模型测试:

docker exec -it ollama ollama pull qwen2.5:7b

拉取完成后用接口验证服务是否响应:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "qwen2.5:7b",
  "prompt": "用一句话说明什么是LLMOps",
  "stream": false
}'

返回 JSON 里有 response 字段就说明模型服务已经可用。
生产环境不要直接把 11434 暴露到公网,应放在 Nginx 反向代理或内网网关后面。

日常运维要盯住的几个点

LLMOps 的运行环境不是启动一次就结束,日常需要关注三类信号。

显存占用:用 nvidia-smi 或 watch -n 2 nvidia-smi 观察模型加载后的显存余量,余量过低时新请求容易失败。

容器日志:执行 docker logs -f ollama 查看模型加载和请求报错,重点看显存不足和模型文件损坏两类信息。

模型目录:/data/ollama 会随模型数量增长,定期用 du -sh /data/ollama 检查磁盘,避免拉取新模型时空间不足。

如果后续要接入监控,可以把 Ollama 的接口延迟和 nvidia-smi 指标采集到 Prometheus,但这属于下一步,先把单机服务跑稳。

容易踩的坑和排查顺序

容器里看不到 GPU,先检查 docker info 是否有 nvidia 运行时,再确认启动命令带了 --gpus all。

模型加载报显存不足,先看模型参数量与显卡显存是否匹配,7B 模型通常需要数 GB 显存,具体占用随量化方式变化。

接口返回超时,先确认容器状态 docker ps,再看日志是否在下载模型,首次拉取大模型耗时较长属于正常现象。

模型目录权限问题,挂载宿主机目录时确保容器内用户可写,否则拉取会失败;
可以先在宿主机对目录执行 chmod 并观察日志确认。

验证配置是否真正生效

最后做一次完整复查:nvidia-smi 能看到显存被模型占用,docker ps 中 ollama 容器状态为 Up,curl 请求返回正常文本。
三项都通过,说明这台 AI 服务器的 LLMOps 运行环境已经可以承接后续的模型版本管理和接口网关配置。

如果还需要批量管理多台 GPU 节点,再考虑用 Ansible 固化上述启动命令和目录结构,避免每台机器手工配置。

分享到:
上一篇
AI服务器MLOps配置:用Docker和MLflow管好训练环境
下一篇
AI服务器DataOps配置:用Docker跑通数据管道与版本管理
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意