使用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 小时前
Docker 部署 GitLab
运维·docker·容器·gitlab
幻想趾于现实1 小时前
视觉硬件选型和算法选择(CNN)
人工智能·深度学习·计算机视觉
bin91532 小时前
DeepSeek赋能Vue:打造超丝滑进度条开发指南
vue.js·deepseek
歪桃2 小时前
对接DeepSeek
deepseek
makarov54 小时前
docker部署superset并连接华为MRS hive数据库
数据库·hive·docker·bi·superset·pyhive·华为mrs
LittleNyima5 小时前
【笔记】扩散模型(一〇):Dreambooth 理论与实现|主题驱动生成
人工智能·笔记·深度学习·aigc·扩散模型
谢眠5 小时前
CNN-day5-经典神经网络LeNets5
人工智能·深度学习·计算机视觉
听吉米讲故事5 小时前
ChatGPT搜索免费开放:AI搜索引擎挑战谷歌霸主地位全面分析
人工智能·搜索引擎·chatgpt
小马过河R5 小时前
OCR与多模态大模型的关系
人工智能·机器学习·语言模型·nlp·ocr
谢眠7 小时前
CNN-day6-经典神经网络AlexNet
人工智能·神经网络·cnn