首页
关于
壁纸
直播
留言
友链
统计
Search
1
《三国志英杰传》攻略
6,130 阅读
2
Emby客户端IOS破解
5,999 阅读
3
白嫖Emby
5,982 阅读
4
《吞食天地1》金手指代码
5,284 阅读
5
破解emby-server
4,243 阅读
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
登录
Search
标签搜索
ubuntu
mysql
openwrt
zerotier
springboot
centos
openvpn
jdk
吞食天地2
synology
spring
idea
windows11
吞食天地1
transmission
google-play
Japanese
xcode
群晖
kiftd
MoonjerX
累计撰写
375
篇文章
累计收到
464
条评论
首页
栏目
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
页面
关于
壁纸
直播
留言
友链
统计
搜索到
1
篇与
ollama
的结果
2025-02-22
使用 Docker 部署 Ollama 与 Open WebUI 完整指南
基于 DeepSeek-R1 模型的本地化部署方案前言本文详细介绍如何通过 Docker 快速搭建支持 GPU 加速的 Ollama 服务,并集成 Open WebUI 实现可视化交互界面。方案完整支持:✅ 多 GPU 并行计算✅ 模型持久化存储✅ 企业级权限管理✅ 中英文双语支持前置准备硬件要求NVIDIA 显卡(显存 ≥8GB,推荐 RTX 3060 以上)内存 ≥16GB磁盘空间 ≥50GB软件依赖# 安装 Docker 和 NVIDIA 容器工具包 sudo apt-get update sudo apt-get install -y docker.io nvidia-container-toolkit sudo systemctl restart docker # 验证 GPU 支持 docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi如果报错:sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit Hit:1 http://hk.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://hk.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:3 http://hk.archive.ubuntu.com/ubuntu jammy-backports InRelease Hit:4 http://hk.archive.ubuntu.com/ubuntu jammy-security InRelease Reading package lists... Done Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package nvidia-container-toolkit你的系统中可能未正确添加 NVIDIA Container Toolkit 的软件源。请按以下步骤操作:解决方案如下:添加 NVIDIA 官方源和密钥# 安装依赖 sudo apt-get install -y curl # 添加 GPG 密钥 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - # 添加仓库(注意系统代号匹配) distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 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 -y nvidia-container-toolkit验证安装nvidia-ctk --version常见问题排查:如果系统代号不匹配(如 Ubuntu 22.04 应为 ubuntu22.04),可手动替换上述命令中的 $distribution若仍报错,尝试清理缓存:sudo rm -rf /var/lib/apt/lists/* sudo apt-get update替代方案(若网络受限):# 通过 NVIDIA Docker 仓库安装 sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker部署流程1. 部署 Ollama 服务# 创建持久化存储目录 mkdir -p ~/ollama_storage # 启动 Ollama 容器 docker run -d --name=ollama \ --gpus=all \ --restart unless-stopped \ -p 30037:11434 \ -v /home/$USER/dockerfile/ollama/data:/root/.ollama \ ollama/ollama # 下载 DeepSeek-R1 模型 docker exec -it ollama ollama run deepseek-r1:7b如果运行容器报错:xdboy@xdserver:~$ docker run -d --name=ollama \ --gpus=all \ --restart unless-stopped \ -p 30037:11434 \ -v /home/$USER/dockerfile/ollama/data:/root/.ollama \ ollama/ollama Unable to find image 'ollama/ollama:latest' locally latest: Pulling from ollama/ollama d9802f032d67: Pull complete 161508c220d5: Pull complete 6b78c8d09c74: Pull complete e0c387d586cc: Pull complete Digest: sha256:82956f40bb1f307c77f7a8c3ed91c7a37e072ed757ff143e34210a7b991b9480 Status: Downloaded newer image for ollama/ollama:latest 78a836df1c7ce1436b41b2d08e9d74764ae732fb06257308430ac9488ad8102d docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy' nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown.你遇到的错误 libnvidia-ml.so.1: cannot open shared object file 表明 NVIDIA 容器运行时未能正确加载 GPU 驱动。以下是完整解决方案:问题原因NVIDIA 驱动未安装 Docker 容器需要宿主机已安装 NVIDIA 驱动并通过 nvidia-container-toolkit 暴露给容器。nvidia-container-toolkit 配置未生效 即使安装了工具包,Docker 可能未正确绑定 NVIDIA 驱动库。分步解决方案1. 确认 NVIDIA 驱动已安装运行以下命令检查驱动状态:nvidia-smi # 应有 GPU 信息输出若无输出,需先安装 NVIDIA 驱动:sudo ubuntu-drivers autoinstall # 自动安装推荐驱动 sudo reboot2. 修复 nvidia-container-toolkit 配置重新配置 NVIDIA 容器运行时并重启 Docker:# 确认工具包已安装 sudo apt-get install -y nvidia-container-toolkit # 重新生成配置 sudo nvidia-ctk runtime configure --runtime=docker # 重启 Docker 服务 sudo systemctl restart docker3. 验证容器 GPU 访问运行测试容器检查 GPU 是否可见:docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi若成功输出 GPU 信息,则配置已修复。4. 重新运行你的 Ollama 容器docker run -d --name=ollama \ --gpus=all \ --restart unless-stopped \ -p 30037:11434 \ -v /home/$USER/dockerfile/ollama/data:/root/.ollama \ ollama/ollama常见问题补充如果仍报错 libnvidia-ml.so.1强制绑定 NVIDIA 库(显式指定驱动路径):docker run -d --name=ollama \ --gpus=all \ -v /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1:/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 \ ollama/ollama若系统为 WSL2需在 Windows 宿主机安装 NVIDIA 驱动,并在 WSL2 中启用 GPU 支持:# 在 WSL2 中安装驱动兼容层 sudo apt-get install -y nvidia-cuda-toolkit关键日志检查若问题持续,检查 Docker 和 NVIDIA 容器日志:# Docker 日志 journalctl -u docker.service --since "5 minutes ago" # NVIDIA 容器日志 nvidia-container-cli -k -d /dev/tty info2. 部署 Open WebUIdocker run -d \ --name=open-webui \ -p 3000:8080 \ -e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 \ --add-host=host.docker.internal:host-gateway \ --restart unless-stopped \ ghcr.io/open-webui/open-webui:main配置说明关键参数解析参数作用示例值--gpus=all启用全部 GPU必填-v ~/ollama_storage模型存储路径可自定义目录OLLAMA_API_BASE_URLOllama 服务地址保持默认网络架构示意图[用户浏览器] <-> [Open WebUI:3000] <-> [Ollama API:11434] ↑ | └── 模型数据持久化存储 ───┘验证部署1. 检查服务状态docker ps -a | grep -E "ollama|open-webui"2. 测试 API 接口curl http://localhost:11434/api/tags # 应返回包含 deepseek-r1 的模型列表3. 访问 Web 界面浏览器打开 http://[服务器IP]:3000,完成注册后:点击左下角模型选择器选择 deepseek-r1:7b开始对话测试高级配置多 GPU 分配docker update ollama --gpus '"device=0,1"' # 指定使用前两块 GPU中文支持优化登录 Open WebUI进入 Settings → Global Settings设置 Default Language 为 Chinese (Simplified)常见问题解决Q1: 容器启动报错 GPU not found# 重新配置 NVIDIA 容器 sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart dockerQ2: 模型下载速度慢# 在 Ollama 容器内配置镜像加速 docker exec -it ollama bash echo 'OLLAMA_MIRROR="https://mirror.example.com"' >> /etc/ollama.envQ3: 对话历史丢失# 检查 Open WebUI 数据卷 docker inspect open-webui | grep "Mounts"应用场景示例智能客服集成import requests def ask_ai(question): response = requests.post( "http://localhost:11434/api/generate", json={ "model": "deepseek-r1:7b", "prompt": f"作为客服助手回答:{question}", "stream": False } ) return response.json()["response"]自动生成 SQL 查询性能优化建议量化部署:使用 GGUF 格式量化模型docker exec -it ollama ollama run deepseek-r1:7b-q4缓存优化:调整 Ollama 的 OLLAMA_NUM_PARALLEL 环境变量负载均衡:部署多个 Ollama 实例并使用 Nginx 分流总结本文方案相比传统部署方式具备三大优势:快速部署:一行命令完成环境搭建资源隔离:Docker 容器保证服务稳定性弹性扩展:轻松实现多模型并行服务建议企业用户在此基础上进一步:配置 HTTPS 安全访问集成 LDAP 身份验证设置自动化备份策略立即按照本指南部署您的 AI 助手吧!如有问题欢迎在评论区留言讨论。
2025年02月22日
135 阅读
0 评论
1 点赞
您的IP: