windows11使用docker部署ollama调用底层GPU
本机环境Windows 11 家庭版:
设备名称 ZZNN-GEGEWU
处理器 Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz 2.30 GHz
机带 RAM 24.0 GB (23.9 GB 可用)
设备 ID 8DA62972-C11C-4E08-9039-18D34E439F64
产品 ID 00326-10000-00000-AA043
系统类型 64 位操作系统, 基于 x64 的处理器
笔和触控 没有可用于此显示器的笔或触控输入
Docker Compose version v2.26.1
Docker version 26.1.1, build 4cf5afa
显卡驱动安装:https://www.nvidia.cn/Download/index.aspx?lang=cn
法1(若此种方法失败则需要使用法2)
先决条件
部署调用底层GPU版 docker-compose文件如下:
备注:
- 最新版docker-destop定义文件方式已发生改变需要去掉
version: '3.8'
- 并且建立环境变量定义项目名称环境变量为.env
1
| COMPOSE_PROJECT_NAME=myproject
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| services: ollama: image: ollama/ollama:latest restart: always ports: - 11434:11434 volumes: - ./ollama:/root/.ollama container_name: ollama restart: always environment: KEEP_GPUS_TIMEOUT: 40 TZ: Asia/Shanghai OLLAMA_ORIGINS: "*" OLLAMA_HOST: "0.0.0.0" networks: - ollama-docker deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: - gpu open-webui: image: registry.cn-hangzhou.aliyuncs.com/zznn/mycentos:open-webui-main container_name: open-webui restart: always ports: - "3000:8080" extra_hosts: - "host.docker.internal:host-gateway" volumes: - open-webui:/app/backend/data
networks: - ollama-docker volumes: open-webui: networks: ollama-docker: external: false
|
备注:直接docker-compose up -d 即可 当提问AI时即可看到显卡正在使用中
效果:
法2 (需要开启科学上网)
参考:Windows 下让 Docker Desktop 关联上 NVidia GPU
(有时候法1会失败此时我们需要配置windows下的linux子系统中的ubuntu20.04)
先决条件:
wsl 安装Ubuntu20.04 安装完成后在ubuntu20.04中执行下方内容
1 2 3
| wsl --install Ubuntu-20.04
|
1 2 3 4 5 6 7 8 9 10
| curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
|
2. 配置 Docker Daemon(本文到此成功 大多数到此步骤也能成功)
执行以下命令:
1 2
| sudo nvidia-ctk runtime configure --runtime=docker
|
此时验证ollama能否正常使用GPU 若不能正常使用则继续下方操作
更好的办法是打开 Docker Desktop 如下操作之后(配置Docker Engine),再重启:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| { "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "args": [] } }, "experimental": false }
|
构建完成后效果:
本文参考:
windows 下 docker compose 安装 ollama 和 open-webui ,打造私有GPT_windows系统安装docker并部暑open webui