使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker

这里建议用docker来部署,方便简单

安装教程需要自己找详细的,会用到跳过

如果你没有安装 Docker,可以按照以下步骤安装:

复制代码
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce

安装完 Docker 后,确认 Docker 是否安装成功:

复制代码
sudo docker --version

2、运行 Ollama 容器

1、安装运行Ollama

Ollama 提供了 Docker 镜像,你可以使用以下命令拉取最新版本的 Ollama 镜像:

复制代码
sudo docker pull ollama/ollama

拉取镜像后,可以启动 Ollama 容器,这个命令会启动 Ollama 容器并在后台运行。

复制代码
sudo docker run -d --name ollama-container ollama/ollama

为了能直接在外部访问到,可以将端口挂载到宿主机上(推荐)

复制代码
sudo docker run -d --name ollama-container -p 11434:11434 ollama/ollama

查看 Ollama 容器的运行状态:

复制代码
sudo docker ps

如果容器在运行,你会看到 ollama-container 在列表中。

拉取deepseek模型

直接在宿主机操作Ollama容器即可这个过程会比较慢,需要耐心等待

由于CDN资源下发的合理优化,后期经常下载艰难,当下载缓慢时,可以使用ctrl + c 打断,然后重新执行下载,这样可以快一点点,详见下面的博客

复制代码
https://blog.csdn.net/cy21951612/article/details/145513664

进入 Ollama 容器

如果你需要进入正在运行的 Ollama 容器,可以使用:

复制代码
sudo docker exec -it ollama-container bash

执行拉取模型命令

复制代码
ollama run deepseek-r1:1.5b

拉取完成即可进行命令行对话

2、查看拉取模型进度

方法 1:使用 docker logs 查看拉取进度

复制代码
docker logs -f ollama-container

✅ 作用:

  • -f 让日志实时输出,可以看到 ollama pull 的下载进度。
  • 如果 ollama pull deepseek-r1:1.5b 仍在进行,你应该能看到进度条或者下载状态。

如果你想只看最近的日志,可以用:

复制代码
docker logs --tail 50 ollama-container

这样只显示最新 50 行日志。

方法 2:进入 ollama-container 检查

复制代码
docker exec -it ollama-container sh

然后在容器内部执行:

复制代码
ps aux | grep ollama

✅ 作用:

你可以看到 ollama pull 是否仍在运行,或者是否已经完成。

例如,如果 ollama pull 正在运行,你会看到类似:

复制代码
root       12  0.0  0.1  50000  5000 ?        S    12:00   0:02 ollama pull deepseek-r1:1.5b

如果你已经在容器内,你也可以直接运行:

复制代码
ollama list

✅ 作用:

这个命令会列出 所有已经下载的模型,如果 deepseek-r1:1.5b 已经在列表中,说明拉取已经完成。

拉取完成后,你可以退出容器:

exit

方法 3:检查 Docker 的下载进度

如果你想查看 Docker 是否仍在下载 deepseek-r1:1.5b,可以运行:

docker stats ollama-container

✅ 作用:

如果 ollama pull 仍在进行,你可能会看到 网络流量 占用较高,说明仍在下载。

如果 CPU/网络流量都接近 0,说明可能已经完成了。

方法 4:查看已下载的模型

如果你想确认 deepseek-r1:1.5b 是否已经下载完成,可以直接在 宿主机 执行:

复制代码
curl http://localhost:11434/api/tags

或者在 ollama-container 内部执行:

复制代码
ollama list

✅ 作用:

如果 deepseek-r1:1.5b 出现在列表中,说明它已经下载完成,可以使用了。

3、其他Ollama操作

停止 Ollama 容器

如果你想停止 Ollama 容器,可以运行以下命令:

复制代码
sudo docker stop ollama-container

进入 Ollama 容器

如果你需要进入正在运行的 Ollama 容器,可以使用:

复制代码
sudo docker exec -it ollama-container bash

3、创建Docker 网络

确保运行了 ollama-container,可以用以下命令确认它在运行:

复制代码
docker ps

如果它没有运行,先启动它:

复制代码
docker start ollama-container

创建一个 Docker 网络,如下命令创建了一个名为 ollama-net 的自定义网络。

复制代码
docker network create ollama-net

把 ollama-container 连接到 ollama-net

复制代码
docker network connect ollama-net ollama-container

这样 ollama-container 就加入了 ollama-net 网络,其他在该网络中的容器可以通过 容器名称 直接访问它。

4、配置前端UI

拉取 nextjs-ollama-ui 的镜像(如果本地没有):

复制代码
docker pull jakobhoeg/nextjs-ollama-ui:latest

然后运行 nextjs-ollama-ui 容器:

复制代码
docker run -d -p 3000:3000 \
  --network ollama-net \
  -e OLLAMA_URL=http://ollama-container:11434 \
  --name nextjs-ollama-ui \
  --restart always \
  jakobhoeg/nextjs-ollama-ui:latest

解释:

  • --network ollama-net:让 nextjs-ollama-ui 也加入 ollama-net,这样它能直接访问 ollama-container
  • -e OLLAMA_URL=http://ollama-container:11434:配置前端 UI 连接 ollama-container 的 11434 端口
  • -p 8080:3000:将 宿主机的 3000 端口 映射到 前端的 3000 端口,你可以通过 http://localhost:8080 访问 UI

等待容器启动后,你可以在浏览器中访问:

复制代码
http://localhost:3000

然后 UI 就能正确连接到 ollama-container

选择模型,测试问题可以成功运行

相关推荐
小和尚同志1 小时前
1.8k star 的开源 token 使用量监控神器— TokenTracker
人工智能·ai编程
极客 - L U2 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
数字融合3 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0113 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
xiangzhihong83 小时前
创之星花店多端业务闭环拆解
人工智能
Am-Chestnuts3 小时前
DeepSeek 表格复制到 Word 格式乱怎么办?DS随心转 导出干净表格不串列
word导出·deepseek·格式错乱·excel表格·表格转换
奈落243 小时前
AI 编程从助手到 Agent:基于两份资料看哪些环节可以交出去,哪些必须自己攥住
大数据·人工智能
Joker可视化开发平台3 小时前
AI短剧接棒真人剧:开机量跌七成,普通人进场窗口在收窄
大数据·人工智能
澳鹏Appen3 小时前
澳鹏电子书 | 强化学习环境:为AI智能体打造高保真训练场
人工智能
吴佳浩3 小时前
单卡5090跑125B 大模型:Strata 把服务器级 MoE 拉进普通 PC
人工智能