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

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

相关推荐
尤超宇18 分钟前
基于卷积神经网络的 CIFAR-10 图像分类实验报告
人工智能·分类·cnn
alex10021 分钟前
BeaverTails数据集:大模型安全对齐的关键资源与实战应用
人工智能·算法·安全
哥不是小萝莉36 分钟前
了解DeepSeek V3.2和Claude Sonnet 4.5
deepseek·claude 4.5
大模型真好玩1 小时前
架构大突破! DeepSeek-V3.2发布,五分钟速通DeepSeek-V3.2核心特性
人工智能·python·deepseek
春末的南方城市1 小时前
苏大团队联合阿丘科技发表异常生成新方法:创新双分支训练法,同步攻克异常图像生成、分割及下游模型性能提升难题。
人工智能·科技·深度学习·计算机视觉·aigc
OpenCSG1 小时前
超越颠覆:AI与Web3如何为传统金融的“华兴资本们”提供新生之路
人工智能·金融·web3
2401_841495641 小时前
【自然语言处理】Universal Transformer(UT)模型
人工智能·python·深度学习·算法·自然语言处理·transformer·ut
大刘讲IT2 小时前
下一代固态硬盘引入HBM缓存技术的深度可行性分析
人工智能·经验分享·缓存·ai
WeiJingYu.2 小时前
P3.7计算机视觉
人工智能·opencv·计算机视觉
CheungChunChiu2 小时前
在嵌入式 Linux 上配置 PulseAudio 默认输出设备的完整指南
linux·运维·ubuntu·audio·pulseaudio