在Ubuntu下建设自己的本地大模型docker+ollama+openwenui
在经过多种尝试下,出现了各种问题,终于搭建起了自己的本地大模型和知识库,下面为大家讲解过程。
一.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 updatesudo 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外部很容易出问题,需要修改配置文件,并且可能不成功,以上步骤是我成功实施的案例