DeepSeek本地部署Docker教程
Docker一键部署DeepSeek模型服务,这事儿听起来复杂,其实拆开来看就四个步骤:先装好Docker并确保环境没问题,再跑起Ollama容器,接着把DeepSeek-R1模型拉下来或导进去,最后启动OpenWebUI容器,就能在浏览器里直接跟模型对话了。整个过程跳过编译和依赖冲突,直接拿到可用的API端点和Web界面。

在Windows或Linux系统上,这套流程都能跑通,关键是每一步的细节别踩坑。
安装Docker并验证运行环境
先从安装Docker开始。这一步其实很简单,下载安装包,一路点下去就行。但有个关键点必须确认:虚拟化功能是否已经开启?否则,容器根本跑不起来。
Windows用户去Docker Desktop官网下载最新版安装程序,运行时记得勾选“Add shortcut to desktop”和“Enable WSL 2 backend”这两个选项。Linux用户就简单多了,直接执行curl -fsSL https://get.docker.com | sh,然后运行sudo usermod -aG docker $USER,最后重新登录终端。
怎么验证是否成功?跑个最简单的命令:docker run hello-world。如果看到“Hello from Docker!”的提示,那基础环境就绪了。
必须重启终端或注销当前用户,否则docker命令会提示permission denied
拉取并运行Ollama服务容器
Ollama是DeepSeek模型的运行时引擎。用Docker方式部署,好处很明显:绕开了Windows/Linux系统级权限问题,也避免了Python环境的各种冲突。
执行下面这条命令就能启动Ollama服务:
docker run -d --name ollama -p 11434:11434 -v ollama-data:/root/.ollama -e OLLAMA_NO_CUDA=0 ollama/ollama
这里有两个参数值得留意。一个是-v ollama-data:/root/.ollama,它把模型缓存持久化到本地卷,防止容器删除后重新下载12GB+的模型;另一个是-e OLLAMA_NO_CUDA=0,启用GPU加速——前提是你有NVIDIA显卡并且已经装好了nvidia-container-toolkit。
检查容器是否健康:docker ps | grep ollama,状态应该显示“Up”。如果看到“Restarting”,大概率是GPU驱动没就绪。这时候先删掉容器,去掉-e OLLAMA_NO_CUDA=0参数重试,等基础服务跑通后再回来折腾GPU加速。
加载DeepSeek模型(R1或V3任选)
模型文件比较大,首次拉取需要稳定的网络环境。国内用户建议配置镜像源,否则可能卡在99%不动了。
方法一:直接拉取最新镜像(推荐新手)
docker exec -it ollama ollama pull deepseek-r1:7b
方法二:离线导入(适合断网或网络不稳定的环境)
先从可信渠道获取deepseek-r1.Q4_K_M.gguf文件,放到宿主机目录比如/models/deepseek-r1,然后执行:
docker exec -it ollama mkdir -p /root/.ollama/models/deepseek-r1docker cp /models/deepseek-r1/deepseek-r1.Q4_K_M.gguf ollama:/root/.ollama/models/deepseek-r1/docker exec -it ollama ollama create deepseek-r1 -f /root/.ollama/models/deepseek-r1/Modelfile
这里有个坑:Modelfile需要手动编写,内容为FROM ./deepseek-r1.Q4_K_M.gguf,否则ollama无法识别模型。
启动OpenWebUI提供网页对话界面
OpenWebUI的作用是把命令行里的模型,变成一个浏览器里就能用的聊天窗口。它支持历史记录、多模型切换和自定义系统提示词,体验相当不错。
第一步:创建配置目录mkdir -p ~/openwebui/config
第二步:运行OpenWebUI容器,并连接Ollama服务
docker run -d -p 3000:8080 --name openwebui
-v ~/openwebui/config:/app/backend/data
-e OLLAMA_BASE_URL=http://host.docker.internal:11434
--restart=always
ghcr.io/open-webui/open-webui:main
网络配置是这里最容易出错的地方。Windows用户必须用host.docker.internal而非localhost,否则OpenWebUI无法访问Ollama容器;Linux用户则需要改用宿主机IP(比如http://172.17.0.1:11434)。
第三步:打开浏览器访问http://localhost:3000,登录后在左下角模型选择器中点击“Refresh Models”,deepseek-r1就会出现在列表里。至此,一键部署完成,可以开始对话了。