当前位置: 首页 > news >正文

HoRain云--[特殊字符] 大模型服务容器化部署全流程(Docker Compose 实战版)

🎬 HoRain 云小助手:个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

🐳 大模型服务容器化部署全流程(Docker Compose 实战版)

🔧 一、环境准备(5分钟)

📁 二、项目结构(统一目录规划)

🌐 三、方案A:Ollama + Open WebUI(全平台友好)

docker-compose.ollama.yml

🚀 启动命令

⚡ 四、方案B:vLLM + Open WebUI(高性能GPU方案)

docker-compose.vllm.yml

📥 模型准备(宿主机执行)

🚀 启动命令

🔍 五、验证与访问

🛠️ 六、运维锦囊

常用命令

⚠️ 高频问题解决

💡 进阶建议


🐳 大模型服务容器化部署全流程(Docker Compose 实战版)

✅ 覆盖Ollama方案vLLM方案|含GPU配置|数据持久化|一键启停
📌 适用于 Linux(Ubuntu 22.04+)|Windows WSL2|macOS(Apple Silicon需调整)


🔧 一、环境准备(5分钟)

# 1. 安装 Docker + Docker Compose curl -fsSL https://get.docker.com | sh sudo systemctl enable --now docker sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # 2. 【仅vLLM方案】安装 NVIDIA Container Toolkit(GPU支持) 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-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker # 3. 验证 docker --version # ≥ 24.0 docker-compose --version # ≥ 2.20 nvidia-smi # GPU方案必现驱动信息

📁 二、项目结构(统一目录规划)

llm-deploy/ ├── docker-compose.ollama.yml # 方案A配置 ├── docker-compose.vllm.yml # 方案B配置(需GPU) ├── .env # 环境变量(可选) ├── models/ # 模型存储(vLLM用) │ └── qwen-7b-chat/ # HF格式模型(提前下载) └── data/ # 持久化数据 ├── ollama/ # Ollama模型缓存 └── openwebui/ # WebUI数据库/配置

🌐 三、方案A:Ollama + Open WebUI(全平台友好)

docker-compose.ollama.yml

version: '3.8' services: ollama: image: ollama/ollama:latest container_name: ollama ports: - "11434:11434" volumes: - ./data/ollama:/root/.ollama # 模型持久化 # GPU加速(可选):取消注释下方两行 # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:11434"] interval: 30s timeout: 10s retries: 3 open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - "3000:8080" volumes: - ./data/openwebui:/app/backend/data environment: - OLLAMA_BASE_URL=http://ollama:11434 # 容器内服务名通信 - WEBUI_AUTH=False # 关闭登录(生产环境建议开启) depends_on: ollama: condition: service_healthy restart: unless-stopped networks: default: name: llm-network

🚀 启动命令

cd llm-deploy docker-compose -f docker-compose.ollama.yml up -d docker-compose -f docker-compose.ollama.yml logs -f # 实时查看日志 # 首次拉取模型(进入Ollama容器执行) docker exec -it ollama ollama pull llama3:8b-instruct-q4_K_M

⚡ 四、方案B:vLLM + Open WebUI(高性能GPU方案)

docker-compose.vllm.yml

version: '3.8' services: vllm: image: vllm/vllm-openai:latest container_name: vllm runtime: nvidia # 关键:启用GPU ports: - "8000:8000" volumes: - ./models:/models # 挂载本地HF模型 command: > --model /models/qwen-7b-chat --port 8000 --tensor-parallel-size 1 --dtype auto --max-model-len 4096 environment: - NVIDIA_VISIBLE_DEVICES=all deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] restart: unless-stopped open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - "3000:8080" volumes: - ./data/openwebui:/app/backend/data environment: - OPENAI_API_BASE=http://vllm:8000/v1 - OPENAI_API_KEY=sk-vllm-key # vLLM无需验证,但WebUI需占位符 - WEBUI_AUTH=False depends_on: - vllm restart: unless-stopped networks: default: name: llm-network

📥 模型准备(宿主机执行)

# 安装huggingface-hub(宿主机) pip install huggingface-hub # 下载模型到 ./models/qwen-7b-chat huggingface-cli download Qwen/Qwen-7B-Chat --local-dir ./models/qwen-7b-chat --local-dir-use-symlinks False

🚀 启动命令

cd llm-deploy docker-compose -f docker-compose.vllm.yml up -d docker logs -f vllm # 观察模型加载进度(首次较慢)

🔍 五、验证与访问

项目地址验证方式
Open WebUIhttp://localhost:3000浏览器打开,自动加载模型列表
Ollama APIhttp://localhost:11434/api/tagscurl http://localhost:11434/api/tags
vLLM APIhttp://localhost:8000/v1/modelscurl http://localhost:8000/v1/models
健康检查docker-compose ps所有服务状态为 Up

成功标志:Open WebUI 界面中 → 设置 → 模型 → 可见可用模型列表


🛠️ 六、运维锦囊

常用命令

# 停止服务 docker-compose -f docker-compose.xxx.yml down # 重建服务(配置修改后) docker-compose -f docker-compose.xxx.yml up -d --force-recreate # 清理无用镜像/卷 docker system prune -a docker volume prune # 查看GPU使用 docker stats --no-stream # 观察vllm容器GPU内存

⚠️ 高频问题解决

问题解决方案
Open WebUI 找不到模型检查环境变量拼写(OLLAMA_BASE_URLvsOPENAI_API_BASE);确认容器网络互通(docker network inspect llm-network
vLLM 启动报 CUDA error确认nvidia-container-toolkit安装成功;执行docker run --rm --gpus all nvidia/cuda:12.2-base nvidia-smi验证
模型下载慢使用 HF 镜像:export HF_ENDPOINT=https://hf-mirror.com
端口冲突修改 yml 中 ports 的宿主机端口(如 3001:8080)
WSL2 无法访问Windows 防火墙放行端口;浏览器用http://<WSL_IP>:3000ip addr show eth0查IP)

💡 进阶建议

  1. 安全加固
    • 启用WEBUI_AUTH=True+ 设置账号密码
    • 用 Nginx 反向代理 + HTTPS(Let's Encrypt)
    • 限制 API 访问 IP(防火墙规则)
  2. 生产部署
    • 使用docker-compose.prod.yml+ Traefik 做负载均衡
    • 模型存储挂载 NAS/S3
    • 集成 Prometheus 监控 GPU/内存
  3. 混合后端
    在 Open WebUI 中为不同模型指定不同提供者(设置 → 模型 → 自定义提供者),实现 Ollama 小模型 + vLLM 大模型协同

现在执行

git clone https://github.com/your-repo/llm-deploy-template.git # 可选:使用模板仓库 cd llm-deploy && docker-compose -f docker-compose.ollama.yml up -d

5 分钟后,打开浏览器 →http://localhost:3000→ 开始对话!
遇到问题?提供docker-compose logs open-webui截图,我可精准诊断 🌟

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

http://www.jsqmd.com/news/344540/

相关文章:

  • 摆脱论文困扰! 9个一键生成论文工具测评:本科生毕业论文+开题报告高效写作指南
  • 2026年贵阳靠谱的防腐木花箱,防腐木长廊,防腐木平台厂家采购推荐榜单 - 品牌鉴赏师
  • HoRain云--Linux系统服务管理终极指南
  • 深入剖析JVM类加载机制:从字节码到可执行对象的魔法之旅
  • YOLO26涨点改进 | 全网独家创新、特征融合改进篇 | CVPR 2024 顶会| 引入MFM调制融合模块, LEGM局部到全局模块,二者共同合作,多种创新改进,助力YOLO26高效涨点
  • 2026年比较好的企业费控数字化系统/上海企业费控行业应用解析 - 品牌宣传支持者
  • 2026年四川靠谱的政策补贴驳回申诉代办公司排名,值得选哪家 - myqiye
  • 摆脱论文困扰!一键生成论文工具 千笔·专业论文写作工具 VS Checkjie 专为继续教育设计
  • YOLO26涨点改进 | 全网独家创新-注意力改进篇 | TGRS 2025 | YOLO26 引入FSSA傅里叶域稀疏自注意力,含多种改进,助力遥感小目标检测、图像分类、实例分割、图像超分有效涨点
  • 2026年天津口碑好的老酒回收公司排名,绿色茅台酒回收选哪家 - 工业品网
  • 一场演唱会,见证追觅科技如何用创新与关怀引领未来
  • 学霸同款10个降AIGC平台 千笔AI帮你高效降AI率
  • ‌智慧校园服务承诺:以快速响应与高效解决为核心‌
  • Palo Alto Panorama 11.2 Virtual Appliance for ESXi, KVM - Palo Alto Networks 防火墙统一管理
  • AI论文工具有哪些?8款写论文的AI排行榜,让你毕业论文写作少走弯路! - 掌桥科研-AI论文写作
  • YOLO26涨点改进 | 全网独家创新,细节涨点改进篇 | TGRS2025顶刊 | YOLO26利用GMM和LMM两个创新点,提取空间-频谱信息,适用于YOLO26检测小目标或边界模糊的区域!
  • 情人节的压力与日俱增,DoorDash推出一首歌和解决方案
  • 【SAE出版 | 有ISSN号 |EI,scopus双检索】第二届智慧交通与未来出行国际会议(ITFM 2026)
  • LVM分区创建、数据迁移与重新挂载操作文档
  • HoRain云--域控迁移全攻略:安全转移FSMO角色
  • 什么是跨网文件交换?从原理到实践,轻松掌握跨网传输技巧 - 飞驰云联
  • HoRain云--Linux安装黑屏终极解决方案
  • 春节归途:2026年天象版图与平安锦囊
  • HoRain云--Linux开发环境离线安装全攻略
  • AI论文工具有哪些?2026年精选8款写论文的AI软件推荐,帮你搞定各类学术论文! - 掌桥科研-AI论文写作
  • 百考通AI PPT:当智能生成遇上高效创作,演示文稿的体验革命
  • 026.数据库Sqlserver解决远程连接问题
  • HoRain云--快速部署本地大模型:Ollama与vLLM方案详解
  • 学术合规双压之下,如何让论文“过检”更从容?
  • 量子机器学习验证:噪声中间尺度量子设备的算法容错测试工具