使用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

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

相关推荐
starzy19901 小时前
LangChain深度解析:模型、链、Agent三大核心,解锁大模型落地的正确姿势
chatgpt·langchain
只是甲1 小时前
Text2SQL 系列博客 02:技术原理深度剖析 - 从自然语言到 SQL 的完整链路
人工智能·text2sql·nl2sql·ai agent·自助数据分析·data agent·agentic 数据洞察
懷淰メ1 小时前
【AI赋能】基于PyQt+YOLO+DeepSeek水上漂浮物检测系统(详细介绍)
人工智能·yolo·目标检测·计算机视觉·pyqt·漂浮物·水上漂浮物
EQUINOX11 小时前
【论文精读】| CLIP精读
大数据·人工智能
PC2005-cloud1 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
weixin_408099671 小时前
2026 图片去文字 API 实战:AI一键去除图片文字(附 Python / Java / PHP / JS 完整代码)
人工智能·api接口·图片去水印·石榴智能·ai图像修复·图片去文字
greenbbLV2 小时前
2026节日慰问品政策解读:合规标准升级与福利行业新趋势
人工智能·节日
BullSmall2 小时前
Anolis OS 8.10 Docker 部署 PostgreSQL 15 完整实操
docker·postgresql·容器
奈斯先生Vector2 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
领麦微红外2 小时前
国产MEMS红外测温传感器:传感器+算法+产品级出厂标定一站式交付模式深度解读
人工智能·硬件工程·产品经理