news 2026/4/19 9:49:59

使用Docker Compose编排vLLM-v0.17.1与MySQL数据库服务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Docker Compose编排vLLM-v0.17.1与MySQL数据库服务

使用Docker Compose编排vLLM-v0.17.1与MySQL数据库服务

1. 引言

在AI应用开发中,我们经常需要将大模型服务与数据库系统结合起来使用。今天我要分享的是如何用Docker Compose快速搭建一个包含vLLM推理服务和MySQL数据库的完整环境。这种方法特别适合需要将模型能力与业务数据结合的场景,比如个性化推荐系统、智能客服等。

通过本教程,你将学会:

  • 如何编写一个完整的docker-compose.yml文件
  • 如何配置vLLM服务与MySQL的交互
  • 如何实现服务的一键启动和统一管理

整个过程只需要10分钟左右,跟着步骤走就能完成部署。即使你是Docker新手也不用担心,我会用最直白的语言解释每个配置项的作用。

2. 环境准备

2.1 系统要求

在开始之前,请确保你的系统满足以下条件:

  • 已安装Docker(版本20.10.0或更高)
  • 已安装Docker Compose(版本1.29.0或更高)
  • 至少16GB内存(vLLM运行需要较多内存)
  • 50GB可用磁盘空间(用于存储模型和数据库)

2.2 快速检查环境

打开终端,运行以下命令检查环境是否就绪:

docker --version docker-compose --version

如果两个命令都能正确输出版本号,说明环境已经准备好。

3. 编写docker-compose.yml文件

3.1 创建项目目录

首先创建一个项目目录,所有文件都将放在这里:

mkdir vllm-mysql-stack && cd vllm-mysql-stack

3.2 编写核心配置文件

创建一个名为docker-compose.yml的文件,内容如下:

version: '3.8' services: vllm: image: vllm/vllm-openai:v0.17.1 container_name: vllm_service ports: - "8000:8000" volumes: - ./models:/models environment: - MODEL=/models/vicuna-7b-v1.5 - HOST=0.0.0.0 - PORT=8000 deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] depends_on: - mysql networks: - app_network mysql: image: mysql:8.0 container_name: mysql_db ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql environment: - MYSQL_ROOT_PASSWORD=your_secure_password - MYSQL_DATABASE=vllm_app - MYSQL_USER=app_user - MYSQL_PASSWORD=app_password networks: - app_network volumes: mysql_data: networks: app_network: driver: bridge

3.3 配置文件详解

让我们分解这个配置文件的关键部分:

  1. vLLM服务配置

    • 使用官方vLLM镜像(v0.17.1版本)
    • 将8000端口映射到主机
    • 挂载models目录用于存放模型文件
    • 配置环境变量指定模型路径和服务端口
    • 声明需要GPU资源
  2. MySQL服务配置

    • 使用MySQL 8.0官方镜像
    • 将3306端口映射到主机
    • 使用数据卷持久化存储数据库
    • 初始化数据库用户和密码
    • 挂载初始化SQL脚本
  3. 网络配置

    • 创建专用网络app_network
    • 两个服务都加入同一网络,可以直接通过服务名互相访问

4. 准备初始化文件

4.1 创建模型目录

mkdir models

将你的模型文件(如vicuna-7b-v1.5)放入models目录。如果没有现成模型,vLLM会自动下载。

4.2 创建数据库初始化脚本

创建mysql目录和初始化脚本:

mkdir mysql && touch mysql/init.sql

编辑init.sql文件,添加你需要的表结构和初始数据。例如:

CREATE TABLE IF NOT EXISTS model_requests ( id INT AUTO_INCREMENT PRIMARY KEY, prompt TEXT NOT NULL, response TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

5. 启动服务

5.1 一键启动所有服务

在项目目录下运行:

docker-compose up -d

这个命令会:

  • 拉取所需的镜像(如果本地没有)
  • 创建网络和卷
  • 按依赖顺序启动服务(先启动MySQL,再启动vLLM)

5.2 查看服务状态

要查看服务是否正常运行:

docker-compose ps

你应该看到两个服务的状态都是"up"。

5.3 查看服务日志

要查看实时日志:

docker-compose logs -f

按Ctrl+C退出日志查看。

6. 验证服务

6.1 验证vLLM服务

vLLM服务提供了OpenAI兼容的API。你可以用curl测试:

curl http://localhost:8000/v1/models

应该会返回类似这样的响应:

{ "object": "list", "data": [ { "id": "vicuna-7b-v1.5", "object": "model", "created": 1686935002, "owned_by": "vllm" } ] }

6.2 验证MySQL服务

可以使用MySQL客户端连接数据库:

mysql -h 127.0.0.1 -P 3306 -u app_user -p

输入密码app_password后,你应该能成功连接到数据库。

7. 使用技巧

7.1 服务间通信

在vLLM容器中,你可以直接使用mysql作为主机名访问MySQL服务,因为它们在同一个Docker网络中。

7.2 持久化存储

MySQL数据会保存在名为mysql_data的Docker卷中,即使容器重启数据也不会丢失。

7.3 资源监控

要查看服务资源使用情况:

docker stats

7.4 停止和清理

停止服务:

docker-compose down

要完全清理(包括数据卷):

docker-compose down -v

8. 总结

通过这个教程,我们成功搭建了一个包含vLLM推理服务和MySQL数据库的完整环境。这种组合特别适合需要将大模型能力与结构化数据结合的应用场景,比如:

  • 存储用户与模型的交互历史
  • 记录模型推理结果用于后续分析
  • 构建基于用户数据的个性化模型服务

实际使用中,你可能需要根据具体需求调整配置,比如更换模型、增加数据库表等。这个基础架构已经为你提供了一个很好的起点,可以在此基础上继续开发更复杂的功能。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 4:50:38

Kandinsky-5.0-I2V-Lite-5s开发入门:Anaconda虚拟环境配置与管理

Kandinsky-5.0-I2V-Lite-5s开发入门:Anaconda虚拟环境配置与管理 1. 为什么需要虚拟环境 在开始Kandinsky-5.0-I2V-Lite-5s这类AI项目开发前,有个问题经常困扰新手:为什么我的代码在别人电脑上能跑,在自己电脑上就报错&#xff…

作者头像 李华
网站建设 2026/4/19 4:50:35

Phi-4-Reasoning-Vision垂直场景:气象卫星云图发展趋势推理分析

Phi-4-Reasoning-Vision垂直场景:气象卫星云图发展趋势推理分析 1. 专业级多模态推理工具介绍 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡RTX 4090环境优化。这套工具严格遵循官方SYSTEM …

作者头像 李华
网站建设 2026/4/18 7:25:36

终极鼠标性能测试指南:使用MouseTester免费工具精准评测你的鼠标

终极鼠标性能测试指南:使用MouseTester免费工具精准评测你的鼠标 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester 想要知道你的鼠标到底有多快?想知道游戏鼠标和办公鼠标的真实性能差异吗?Mo…

作者头像 李华