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

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要

Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面从环境准备、Docker 安装、容器启动、数据持久化、防火墙与安全组配置到客户端连接与常见故障排查,一步到位地给出完整操作指引,并汇总常见陷阱及修复方案。


1 环境准备

1.1 系统与硬件要求

Milvus 2.5 官方推荐 x86-64/ARM64 的 Ubuntu、CentOS、Debian 等 64 位发行版,并至少 2 GB RAM、10 GB 磁盘;生产环境建议 ≥8 GB RAM 及 SSD 存储。

1.2 安装 Docker Engine 及常用插件 环境并配置腾讯云镜像

# 卸载旧版(可选)
sudo apt remove docker docker-engine docker.io containerd runc -y# 1. 更新本地 apt 索引,确保使用最新的包列表  
sudo apt-get update                             #  Refresh the list of available packages and their versions  [oai_citation:0‡bbs.fit2cloud.com](https://bbs.fit2cloud.com/t/topic/5896?utm_source=chatgpt.com)  # 2. 安装 HTTPS 传输和下载工具  
sudo apt-get install -y ca-certificates curl     #  安装 SSL 证书支持(ca-certificates)和网络下载工具(curl) [oai_citation:1‡cloud.tencent.com](https://cloud.tencent.com/developer/article/2439720?utm_source=chatgpt.com)  # 3. 创建存放 GPG 公钥的目录  
sudo install -m 0755 -d /etc/apt/keyrings        #  创建 /etc/apt/keyrings 目录,并设置权限为 0755(用户可读写执行、组和其他可读执行) [oai_citation:2‡cloud.tencent.com](https://cloud.tencent.com/developer/article/2439720?utm_source=chatgpt.com)  # 4. 从腾讯云镜像下载 Docker 官方 GPG 公钥  
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg \-o /etc/apt/keyrings/docker.asc                #  -f:遇 HTTP 错误时退出;-s:静默模式;-S:显示错误;-L:跟随重定向;将公钥保存到 /etc/apt/keyrings/docker.asc  [oai_citation:3‡cloud.tencent.com](https://cloud.tencent.com/developer/article/2297462?utm_source=chatgpt.com)  # 5. 赋予公钥文件可读权限  
sudo chmod a+r /etc/apt/keyrings/docker.asc      #  让所有用户都可读取此公钥,以便 apt 在执行安装时进行签名验证 [oai_citation:4‡cloud.tencent.com](https://cloud.tencent.com/developer/article/2297462?utm_source=chatgpt.com)  # 6. 添加腾讯云 Docker APT 仓库  
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu \$(. /etc/os-release && echo \"\$VERSION_CODENAME\") stable" \| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  
#  - arch=$(dpkg --print-architecture):自动填入系统架构(如 amd64)  
#  - signed-by:指定使用上述下载的 GPG 公钥验证包签名  
#  - $(. /etc/os-release && echo "$VERSION_CODENAME"):读取 Ubuntu 发行代号(如 jammy) [oai_citation:5‡cloud.tencent.com](https://cloud.tencent.com/developer/article/2297462?utm_source=chatgpt.com)  # 7. 刷新 apt 索引以加载腾讯云镜像源  
sudo apt-get update                             #  再次下载所有源的包列表,包括新添加的腾讯云源 [oai_citation:6‡bbs.fit2cloud.com](https://bbs.fit2cloud.com/t/topic/5896?utm_source=chatgpt.com)  # 8. 安装 Docker Engine 及常用插件  
sudo apt-get install -y \docker-ce docker-ce-cli containerd.io \docker-buildx-plugin docker-compose-plugin  #  一次性安装 Docker 引擎(docker-ce)、命令行工具(docker-ce-cli)、容器运行时(containerd.io)、Buildx 插件和 Compose 插件 [oai_citation:7‡docs.docker.com](https://docs.docker.com/engine/install/ubuntu/?utm_source=chatgpt.com)  

官方文档对 Ubuntu 24.04/22.04/20.04 的步骤完全一致。

 

sudo systemctl start docker 启动 Docker 服务
sudo systemctl status docker  查看 Docker 是否正在运行

 验证docker:      sudo docker run hello-world

输出如下即正常

 


2 安装docker-compose

Ubuntu 和 Debian 系统执行:

sudo apt-get update
sudo apt-get install docker-compose-plugin

验证docker compose : sudo docker compose version  

 


2.2 Docker Compose安装Milvus一键编排 

Docker Compose 是 Docker 官方提供的多容器编排工具,将多个服务(如 Milvus、etcd、MinIO)及其依赖通过一个 YAML 文件统一定义和管理。

官方:(可能无法访问)

wget https://github.com/milvus-io/milvus/releases/download/v2.5.1/milvus-standalone-docker-compose.yml -O docker-compose.yml
docker compose up -d

国内镜像:

# 方法一:Gitee 原始文件
wget https://gitee.com/milvus-io/milvus/raw/2.5/deployments/docker/standalone/docker-compose.yml \-O docker-compose.yml

 即是将官方发布的编排文件 milvus-standalone-docker-compose.yml 下载并保存为 docker-compose.yml。

验证: 有文件即可 

一键启动所有服务 

sudo docker compose up -d

•	-d 表示后台运行,compose 将根据 docker-compose.yml 启动以下容器:•	milvus-etcd(2379/TCP)•	milvus-minio(9000/TCP、9001/TCP)•	milvus-standalone(19530/TCP gRPC、9091/TCP HTTP/WebUI)
  • 会以守护模式(-d)读取当前目录下的 docker-compose.yml,并一键拉起所有定义的容器实例(包括 Milvus Standalone、etcd(元数据存储)和 minio(对象存储) 等)。

 

查看运行状态

sudo docker compose ps

确认所有服务均为 Up (healthy) 状态。

 


2.3 数据持久化与备份

Milvus 的向量、索引、WAL 默认存于 /var/lib/milvus;映射到主机目录即可持久化。

生产环境可替换为 Ceph / MinIO / S3;官方文档对对象存储路径也有说明。
  • -v $HOME/milvus_data:/var/lib/milvus (启动命令已经包含了)

  • 将容器内部的 /var/lib/milvus 映射到宿主机的 $HOME/milvus_data。

  • 即默认会在当前文件下创建一个volumes 文件夹作为数据存放地址

如何修改宿主机数据存放路径:


3 远程访问与防火墙配置

3.1 开放 Linux 防火墙

UFW(Ubuntu)

sudo ufw allow 19530/tcp
sudo ufw allow 9091/tcp
sudo ufw reload
sudo ufw status
若部署在云服务器(Alibaba Cloud、AWS、GCP 等),在 安全组 打开相同端口。

我是在云平台,所以可以关闭防火墙,配置安全组就可以了 

 

3.2 客户端连通性测试

# Mac / Linux 本地
nc -vz <REMOTE_IP> 19530
nc -vz <REMOTE_IP> 9091

端口成功握手后,再使用 SDK 连接。

3.3 Python 代码示例(PyMilvus ≥ 2.5)

from pymilvus import utility, connections# 1. 建立连接
connections.connect(alias="default",host="REMOTE_IP",  # 远程公网/内网地址port="19530",secure=False       # 如使用 nginx + TLS,可改 True
)# 2. 查看健康
print(utility.get_server_version())   # 预期输出 v2.5.x# 3. 查看现有集合
print(utility.list_collections())# 4. 断连
connections.disconnect("default")

官方 Quickstart 教程同样适用,只需把 host 设为远端 IP。


 

4 常见问题与排查

现象

原因

解决

Fail connecting to server on localhost:19530

版本不匹配 / 端口未通

1) 升级 pymilvus ==2.5.* 2) 确认安全组与防火墙已开放

MilvusException(code=2)

Docker 端口未映射或被 SELinux 拦截

1) 确认 -p 参数 2) 关闭或配置 SELinux

WebUI 打不开

端口 9091 未放通 / 旧版无 WebUI

开放 9091 并确保镜像 ≥ v2.5

插入/查询慢

未启用 GPU 或索引未构建

使用 HNSW / IVF 索引,或升级硬件


5 升级与维护

  • 升级镜像:docker pull milvusdb/milvus:v2.5.12 && docker stop milvus25 && docker rm milvus25 && docker run ... (保持数据卷不变即可就地升级)。最新版变更参见 Release Notes。

  • 备份:定期打包 $HOME/milvus_data 或挂载到外置 NFS / S3。

  • 多线程连接:在 Web 服务中,每个线程使用不同的 alias 连接可避免竞争。


 

6 全文流程速查表

步骤

命令 / 操作

安装 Docker

apt install docker-ce ...

拉起 Milvus

docker run -d --name milvus25 -p 19530:19530 -p 9091:9091 -v ~/milvus_data:/var/lib/milvus milvusdb/milvus:v2.5.1

开防火墙

ufw allow 19530/tcp && ufw allow 9091/tcp

本地连接

connections.connect(host="REMOTE_IP", port="19530")

浏览 WebUI

http://REMOTE_IP:9091


参考来源

  • Run Milvus in Docker (Linux) — Milvus 官方文档 milvus.io

  • Run Milvus with Docker Compose (Linux) — Milvus 官方文档 milvus.io

  • Configure Milvus with Docker Compose — Milvus 官方文档 milvus.io

  • Ubuntu UFW 配置指南 — 腾讯云开发者社区 cloud.tencent.com

  • Docker exec 使用教程 — Docker 官方文档 docs.docker.com

  • PyMilvus 快速开始 — Milvus 博客 milvus.io

  • Milvus Standalone 容器启动失败排查 — GitHub Issue github.com

  • Docker CLI Cheat Sheet — Docker 官方文档 docs.docker.com

  • Ubuntu UFW 实战案例 — 腾讯云开发者社区 cloud.tencent.com

  • Docker Compose Exec 指南 — Docker 官方文档 docs.docker.com

尾声

按照以上步骤,你即可在任何 Linux 云主机上 3 分钟内部署 Milvus 2.5 并让本地开发机稳定访问。后续只需关注端口、版本、数据卷三要素,便能避免 99 % 常见坑,安心构建向量检索 + BM25 混合 RAG 生产环境。如有疑问,欢迎在评论区留言交流。祝各位向量搜索一路丝滑 🚀


如果本文对你有帮助,欢迎 点赞评论转发,一起交流 Milvus 部署经验!

 

相关文章:

  • 数据库、数据仓库、数据中台、数据湖相关概念
  • 前端十种排序算法解析
  • 比较数据迁移后MySQL数据库和PostgreSQL数据仓库中的表
  • 力扣算法题1
  • JAVASCRIPT 前端数据库-V6--仙盟数据库架构-—-—仙盟创梦IDE
  • 横向对比npm和yarn
  • 省略号和可变参数模板
  • 五年级数学知识边界总结思考-下册
  • Axure Rp 11 安装、汉化、授权
  • Keil Mdk新建stm32工程找不到对应芯片开发包的解决方法
  • 代码规范和架构【立芯理论一】(2025.06.08)
  • 【判断自整除数】2022-4-6
  • 【题解-洛谷】B3626 跳跃机器人
  • 二叉树“倒着看”:层次遍历的反向打开方式
  • 车载诊断架构 --- 整车诊断数据管理策略
  • Cherry-Studio搭建个人知识库智能体
  • 一个一键生成知识讲解类教育视频的ai工具
  • 用通俗的话解释下MCP是个啥?
  • PyCharm和VS Code哪个更适合初学者
  • RootSIFT的目标定位,opencvsharp。
  • 东莞电子网站建设/计算机培训机构哪个最好
  • 网页设计制作网站首页/网络公关
  • 网站外链哪里做/一般的电脑培训班要多少钱
  • 洛阳建设厅网站/今日竞彩足球最新比赛结果查询
  • 网站服务器怎么维护/西安百度seo推广
  • 政府网站建设工作会议工作报告/百度指数人群画像哪里查询