Skip to main content

Docker中间件部署

作者:程序员马丁

在线博客:https://nageoffer.com

note

Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。

在开始正式使用 Ragent AI 之前,我们需要先准备好相关的中间件环境。本章节将详细介绍 MySQLRedisMilvusRustFS 的安装及配置流程,并附上客户端工具的使用指南,帮助大家快速搭建起完整的本地开发环境。

注意:本文件仅包含 2026-03-02 版本的中间件安装配置,旨在满足项目最小化启动需求。后续将持续集成 RocketMQ、Nacos、Prometheus 及 Grafana 等组件,具体更新以马哥移除本提示为准。

Ragent AI 项目使用 Docker 和 Docker Compose 安装中间件,如果电脑尚未安装 Docker 相关软件,请先完成安装。

中间件安装

1. MySQL

Windows、Linux 以及 Mac M1 以下电脑通过以下 Docker 命令启动 MySQL 实例。

docker run --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_HOST='%' \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.36

如果本地通过二进制或者 Docker 方式安装过 MySQL,并可正常使用,跳过本小节即可。

Docker 启动配置参数说明:

  • -d:以后台的方式运行。
  • --name mysql:指定容器的名称为 mysql。
  • -e MYSQL_ROOT_HOST='%':允许 root 用户在任何主机访问。
  • -p 3306:3306:将容器的 3306 端口挂载到宿主机的 3306 端口上。
  • -e MYSQL_ROOT_PASSWORD=root:指定 root 的密码为 root。

如果你是 Mac M1 及以上电脑,需要执行下述 Docker 语句创建 MySQL。

docker run --name mysql \
--platform=linux/amd64 \
-p 3306:3306 \
-e MYSQL_ROOT_HOST='%' \
-e MYSQL_ROOT_PASSWORD=root \
-d amd64/mysql:5.7.36

⚠️ 注意事项,创建好本地 MySQL 后,记得查看修改对应项目 bootstrap 模块下的 application.yaml 数据库配置文件,重点是关注 url、username 以及 password 字段。

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
username: root
password: root
url: jdbc:mysql://127.0.0.1:3306/ragent?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
hikari:
connection-timeout: 5000
idle-timeout: 600000
max-lifetime: 1800000
maximum-pool-size: 10
minimum-idle: 5
pool-name: RagentHikariPool

2. Redis

通过简易方式安装 Redis,主打的就是“有问题铲了重装”:

docker run  \
-p 6379:6379 \
--name redis \
-d redis \
redis-server \
--requirepass "123456"

创建命令里默认密码为 123456,可根据需要修改。如果此处修改,项目的配置文件中也需要检查下。

3. Milvus & RustFS

在 Ragent AI 的整体架构设计中,我们选择 Milvus 作为核心向量数据库。关于这一技术选型的详细原因,将在后续章节中展开说明,包括其在高性能向量检索、分布式扩展能力以及对大规模嵌入数据的原生支持等方面的优势。

在底层存储层面,Milvus 依赖对象存储系统来持久化索引文件与原始向量数据。默认情况下,Milvus 推荐使用 MinIO 作为对象存储解决方案。MinIO 具备与 Amazon S3 高度兼容的 API、良好的水平扩展能力以及稳定的分布式部署模型,能够满足高并发场景下的数据读写需求。考虑到 MinIO 在开源上的反复摇摆,我们在 MinIO 之下引入了 RustFS 作为底层存储引擎。RustFS 具备高性能、低资源占用、强一致性以及良好的可扩展性等特点。

与此同时,Ragent AI 本身也存在文件存储需求,复用了同一个 RustFS 中间件服务实例,为 Milvus 与 Ragent AI 提供统一的底层对象存储支持。

由于 Milvus 依赖 RustFSETCD 以及自身的后台管理服务,整体部署相对复杂。因此,我们采用 Docker Compose 来统一管理和启动各个组件。如果电脑尚未安装 Docker 和 Docker Compose,请先完成安装。

安装完成后,可以进入项目目录下的 /resources/docker,找到对应的安装文件,点击 运行 按钮即可启动部署。

运行完成后,可通过以下命令查看正在运行的 Docker 容器:

docker ps

正常情况下,会看到包括但不限于以下容器实例正在运行:

  • rustfs
  • etcd
  • milvus-standalone
  • milvus-attu

截图如下所示:

如果上述容器均已启动,说明当前阶段部署成功。在接下来的章节中,我们将登录 Milvus 后台管理页面,对功能进行验证。

客户端工具

1. Redis Desktop

Redis 客户端连接工具使用 AnotherRedisDesktopManager,大家点击链接可跳转 GitHub 下载最新版本。

下载安装成功后,点击左上角新建连接即可。如果按照咱们上面 Redis 安装的教程,密码填入 123456,用户名默认可忽略。

2. RustFS

RustFS 提供了 Web 控制台,用于管理对象存储、创建存储桶(Bucket)、上传下载文件以及配置访问策略。登录控制台后,可在 Buckets 页面创建存储桶,设置访问权限和生命周期策略,并直接进行文件的上传、下载和管理操作。

登录信息

项目
控制台地址http://localhost:9001
API 地址(代码中使用)http://localhost:9000
账号rustfsadmin
密钥rustfsadmin

打开控制台地址后,输入账号和密钥,点击 登录 按钮即可登录。

登录成功后进入默认的 Dashboard 页面,可尝试创建 Bucket 并上传文件以验证服务是否正常运行。

默认情况下,存储桶中会包含一个名为 a-bucket 的桶,这是 Milvus 初始化时自动创建的。

3. Milvus

Milvus 同样提供了 Web 控制台,用于管理向量数据库、监控集群状态以及执行基本的增删改查操作。登录控制台后,可在 Collections 页面创建向量集合(Collection),定义向量维度、索引类型和分区策略,并直接上传向量数据或执行查询操作。

登录信息

项目
访问地址http://localhost:8000
认证方式无需认证

打开访问地址后,直接点击 连接 按钮即可登录。

登录成功后进入默认的 Dashboard 页面,可尝试创建数据库以验证服务是否正常运行。

文末小结

至此,本地中间件环境及客户端工具已完成安装与基本配置。

大家可以通过各自的 Web 控制台和客户端工具验证服务是否正常运行,并进行初步操作。后续章节将带你启动 Ragent 项目,并深入了解 Ragent AI 的核心功能、向量检索策略以及项目实战演示。