docker&ollama&openwebui&deepseek

1.创建脚本文件

vim /usr/local/data docker.sh
#创建docker安装的执行脚本,一键完成部署
#!/bin/bash
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt update

#安装指定版本 这里我选择25.2版本,使用稍微靠后一点的版本,稳定性更好
apt-get install docker-ce=5:25.0.2-1~ubuntu.20.04~focal
apt-mark hold docker-ce docker-ce-cli
# docker 要使用gpu设备需要安装驱动
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey |   sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list |   sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime




#安装二进制包docker-compose
wget https://ghfast.top/https://github.com/docker/compose/releases/download/v2.27.3/docker-compose-linux-x86_64
chmod +x  docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose



mkdir /etc/docker/
#写入镜像加速配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
      "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://docker.1ms.run",
      "https://docker-0.unsee.tech",
      "https://docker.hlmirror.com",
      "https://func.ink"
    ]
  }
EOF

systemctl daemon-reload
systemctl enable docker
systemctl start docker

systemctl status docker

1.1执行脚本

./docker.sh
#到创建脚本的目前执行这个部署脚本

看到docker的运行状态,代表目前docker已经成功部署

建议安装docker时在科学上网环境下安装科学上网

否则将出现各种报错

2.docker拉取镜像

# web前端服务
docker pull ghcr.io/open-webui/open-webui:main      
# ollama服务
docker pull ollama/ollama:0.5.7

通过docker自带命令拉取openwebui和ollama服务,完成自动部署

3.编排文件

3.1创建网络

#创建网络
docker  network create --subnet 172.20.0.0/16  ollama-net

3.2创建目录

通过mkdir批量创建两个目录

#创建目录
mkdir {ollamadeamon,ollamawebui}

在对应的文件夹创建执行的yaml文件,让docker能执行,且完成安装部署

cd /etc/docker/ollamademon/
vim ollamadeamon-docker-compose.yaml
version: "3.3"
services:
  ollama:
    image: ollama/ollama:0.5.7
    container_name: ollama-deamon
    hostname: ollama-deamon
    restart: unless-stopped
    ports:
      - 11434:11434
    networks:
      - ollama-net
    tty: true
    volumes:
      - ./data:/root/.ollama
    deploy:
      # 添加 GPU 资源配置
      resources:
        reservations:
          devices:
            - capabilities:
                - gpu
    environment:
      # 可选:设置 CUDA 环境变量
      - NVIDIA_VISIBLE_DEVICES=all # 使容器可以访问所有 GPU
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility # 启用计算和工具功能
networks:
  ollama-net:
    external: true
cd /etc/docker/ollamawebui/
vim ollamawebui-docker-compose.yaml
version: "3.3"
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: ollama-webui
    hostname: ollama-webui
    restart: unless-stopped
    networks:
      - ollama-net
    ports:
      - 3000:8080
    extra_hosts:
      - host.docker.internal:host-gateway
    volumes:
      - ./data:/app/backend/data
    environment:
      - ENABLE_OPENAI_API=False
      - ENABLE_RAG_WEB_SEARCH=True
      - RAG_WEB_SEARCH_ENGINE="duckduckgo"
      - RAG_WEB_SEARCH_RESULT_COUNT=3
      - RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
networks:
  ollama-net:
    external: true

!!!执行脚本时,出现显存报错,代表没有检测到显卡 ,如果只是小模型,可以将显卡那几段配置注释

4.启动容器

到对应的目录将文件执行

docker-compose up -d

安装成功并启动成功

docker ps
#查看目前容器中运行的镜像

5.拉取deepseek模型

目前已经通过docker拉取到ollama镜像,并且已经安装部署成功

下面要通过ollama容器对开源的deepseek模型进行拉取

如果不确定模型在ollama的名称可以直接访问官网进行,最好通过科学上网访问官网查找对应的名称

ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b   #满血版

5.1进入ollama镜像中

docker exec -it ollama-deamon bash #登录ollama镜像
ollama pull deepseek-r1:1.5b #拉取R1-1.5B模型

在ollama容器拉取模型时,一定要关闭科学上网,否则无法拉取

5.1.1启动模型

ollama run deepseek-r1:1.5b

看到对话框,就代表已经启动完成,目前可以进行交互了

6.配置openwebui前端

访问 http://localhost:3000,设置用户名和密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值