CentOS 7 纯离线 Docker 部署 DeepSeek-R1 实战避坑指南
只要思想不滑坡,办法总比困难多。这套方案完美解决了老旧服务器部署大模型的兼容性难题,亲测有效!
背景: 在完全断网的内网虚拟机(CentOS 7)上,通过 Docker 部署 DeepSeek-R1 (7B) 模型。过程中踩坑无数(磁盘爆满、内核不兼容、权限拦截),现将从 0 到 1 的全量迁移过程整理如下。
🛠️ 第一阶段:有网主机“极限打包”
痛点: 宿主机磁盘仅剩 8G,直接打包镜像会报 No space left on device。
-
打包模型数据 (子弹): 将 Ollama 下载好的模型权重(约 4.5G)打包。使用
Bash-C /保持绝对路径。tar -czvf /data/ollama_data.tar.gz -C / data/ollama_storage -
管道压缩打包镜像 (枪): 避坑方案: 不要直接
Bashdocker save,利用管道流gzip边打边压,不产生临时文件,完美规避磁盘不足。docker save ollama/ollama:latest | gzip > /data/ollama_image.tar.gz
📦 第二阶段:内网虚拟机“精准还原”
将两个 .tar.gz 包传到内网机 /data 目录后开始操作。
-
绝对路径解压: 确保路径恢复到系统的
Bash/data/ollama_storage,防止路径套娃导致模型找不到。tar -xzvf /data/ollama_data.tar.gz -C / -
暴力赋权: 解决容器内访问宿主机目录的权限死锁。
Bashchmod -R 777 /data/ollama_storage -
导入运行环境:
Bashdocker load -i /data/ollama_image.tar.gz
🔥 第三阶段:终极点火(解决 CentOS 7 重启循环)
核心坑点: CentOS 7 内核(3.10)太老,不支持新版 Go 编译的底层指令(如 clone3),会导致容器反复重启并报 Panic 错误。
【独家启动命令】:
Bash
# 强制删除之前崩溃的容器
docker rm -f deepseek_offline
# 带有“免死金牌”参数的启动
docker run -d \
--name deepseek_offline \
-p 11434:11434 \
-v /data/ollama_storage:/root/.ollama:z \
--security-opt seccomp=unconfined \
--restart always \
ollama/ollama
💡 关键参数解析:
-
:z: 自动重置 SELinux 标签,解决挂载目录“Permission Denied”。 -
--security-opt seccomp=unconfined: -
离线部署救命参数! 允许老内核运行新指令集,彻底解决
Operation not permitted导致的系统崩溃。
💬 第四阶段:验证对话
执行以下命令,瞬间唤醒你的私有化离线大模型:
Bash
docker exec -it deepseek_offline ollama run deepseek-r1:7b
结语: 只要思想不滑坡,办法总比困难多。这套方案完美解决了老旧服务器部署大模型的兼容性难题,亲测有效!
更多推荐



所有评论(0)