在群晖 NAS 上部署 Ollama 时,最稳妥的做法是通过 Docker 卷映射将模型目录挂载到本地存储,这样即使容器重置,下载的模型也不会丢失。
先说结论:必须配置卷挂载,将 NAS 本地路径映射到容器内的模型存储目录。
- 适合:希望模型数据持久化、避免重复下载的家庭或小型办公场景
- 先准备:确认 Docker 已安装,规划好存储路径及权限
- 验收:重启容器后检查模型列表是否依然存在
命令速用版
docker run -d -v /volume1/docker/ollama:/root/.ollama -p 11434:11434 `--name` ollama ollama/ollama:latest为什么会这样
Docker 容器默认是临时的,删除容器后内部数据会消失。Ollama 默认将模型存储在容器内的 `/root/.ollama` 目录,如果不挂载到 NAS 硬盘,每次重建容器都需要重新下载模型,既浪费时间又占用网络带宽。
分步处理
1. 创建存储文件夹:在群晖文件管理器中新建文件夹,例如 `/volume1/docker/ollama`。
2. 调整权限(可选但推荐):部分部署指南建议将文件夹所有者改为特定 UID,例如执行 `chown -R 65532:65532 /volume1/docker/ollama`,避免容器内写入权限不足。
3. 拉取镜像:在 SSH 中执行 `docker pull ollama/ollama:latest`。
4. 启动容器:使用上述命令速用版中的命令,确保 `-v` 参数路径正确。
5. Docker Compose 方式:若习惯使用 compose,可在配置文件中声明 volumes 映射关系,原理相同。
怎么验证是否生效
1. 查看日志:容器启动日志中应出现加载模型注册表的提示。
2. 检查文件:进入容器或查看 NAS 本地文件夹,确认 `models` 子目录已生成。
3. 模型列表:在容器终端执行 `ollama list`,重启容器后该列表不应清空。
常见坑
1. 路径错误:容器内路径必须是 `/root/.ollama`,写错会导致挂载无效。
2. 权限问题:若容器无法写入,检查 NAS 文件夹权限是否限制了 Docker 用户。
3. 网络配置:若需局域网访问,确保端口映射正确或使用了 host 网络模式。
参考来源
- 本地部署大模型家庭私有云_NAS 挂载教程
- 群晖 NAS 搭建 AI 对话平台:Docker 部署 Ollama+Open WebUI+DeepSeek 全流程指南
- 群晖通过 Docker 部署 Ollama + Open WebUI + DeepSeek 教程
原文链接:https://www.zjcp.cc/ask/10466.html
