在Ubuntu下建设自己的本地大模型docker+ollama+openwenui

发布于:2025-06-25 ⋅ 阅读:(23) ⋅ 点赞:(0)

在经过多种尝试下,出现了各种问题,终于搭建起了自己的本地大模型和知识库,下面为大家讲解过程。

一.docker

1.安装

安装docker
逐步执行以下代码或者看其他的文章,我的ubuntu是22.04

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y
sudo apt-get update
 sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

这里的docker密钥和仓库都是使用的阿里的

2.验证

#y验证docker服务状态
$ systemctl status docker.service
$ systemctl statue docker.socket
#如果显示都在runing 则直接拉去容器;否则请采用下面命令开启服务。
$ systemctl start docker.service
$ systemctl start docker.socket
#查看docker版本
sudo docker version
#拉取docker容器
docker run hello-world

这里拉镜像大概率会出错,因为从官网上拉取存在网络问题,需要换源。
修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:

#使用vim打卡daemon.json文件
sudo vim /etc/docker/daemon.json
​#向文件中添加如下内容
{
    "registry-mirrors": [ "https://你的地址.mirror.swr.myhuaweicloud.com" ]
}
​
 
按“Esc”,输入:wq保存并退出。

在阿里云或者化为云的网站搜索  容器镜像服务  找 镜像资源---> 镜像中心---> "镜像加速器
会有上面类型的代码复制粘贴到/etc/docker/daemon.json就好

下面进入重头戏

二.ollama和openwebui用docker封装并实现可视化

镜像拉取之前先确保容器间通信

重点

确保容器间通信
如果Open WebUI和Ollama在不同容器中,需共享同一Docker网络

创建自定义网络

docker network create ollama-net

下面的ollama镜像和openwebui镜像我已经做了相应处理

将ollama拉下来

docker run -d --network=ollama-net -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

再将openwebui拉下来

docker run -d --network=ollama-net -p 3000:8080 --name open-webui \
  -e OLLAMA_BASE_URL=http://ollama:11434 \
  -v open-webui:/app/backend/data \
  ghcr.io/open-webui/open-webui:main

在没有的话他会自己下载

不指向统一网络的话openwebui就无法识别到模型

其原理在于

正确设置环境变量 Open WebUI容器必须通过OLLAMA_BASE_URL正确指向Ollama服务:

-e OLLAMA_BASE_URL=http://ollama:11434

完整命令

# 创建共享网络
docker network create ollama-net
 
# 启动Ollama容器
docker run -d \
  --network=ollama-net \
  -v ollama-data:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama
 
# 下载模型(可选)
docker exec ollama ollama pull llama2
 
# 启动Open WebUI
docker run -d \
  --network=ollama-net \
  -p 3000:8080 \
  -e OLLAMA_BASE_URL=http://ollama:11434 \
  -v open-webui-data:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

这是能使openwebui识别到ollama的模型的关键

下面是下载模型

三.下载模型

要想下载模型,首先需要进入到容器中

docker exec -it ollama /bin/bash

然后拉取模型,我这里是deepseek-r1 : 7b

ollama pull  deepseek-r1:7b

验证

ollama list

这就已经成功安装了

可以尝试自己运行一下

 ollama run deepseek-r1:7b

ctrl+D可以退出模型,也可以退出容器,回到终端

以上就是所有的步骤了

但是如果将ollama置于docker外部很容易出问题,需要修改配置文件,并且可能不成功,以上步骤是我成功实施的案例