使用 Docker Compose 升级 Milvus Standalone
本指南介绍了如何使用 Docker Compose 将 Milvus 2.6.x Standalone 部署升级至 v3.0.1。
本操作流程已通过官方 Milvus 2.6.20 Standalone 部署版 Docker Compose 配置进行验证。升级过程保留了 etcd、MinIO、Woodpecker 以及现有数据目录,仅将 Milvus 镜像更换为milvusdb/milvus:v3.0.1 。
先决条件
- Docker Engine 和 Docker Compose V2
- 由 Docker Compose 管理的现有 Milvus 2.6.x Standalone 部署
- 用于现有部署的 Docker Compose 文件和配置
- Milvus 元数据和持久化数据的最新备份
消息队列限制:升级至 Milvus v3.0.1 时,必须保留当前的消息队列选择。升级过程中不支持在不同的消息队列系统之间切换。未来版本将支持更改消息队列系统。
请勿在此过程中替换当前的 Compose 文件或更改依赖项版本。请保留现有的 etcd、对象存储、消息队列、卷和配置。仅需更新 Milvus 镜像标签。
本操作流程未验证通过将 Milvus 镜像回滚至 2.6.x 版本的降级或回滚操作。 在 v3.0.1 写入数据后,仅回滚镜像的操作可能无法读取已更新的状态。如果升级失败,请停止写入操作,并采用恢复方案来还原升级前的元数据和持久化数据备份。请先在非生产环境中验证该恢复方案。
升级流程
步骤 1:备份当前配置
保存当前 Compose 文件以及所有已挂载的 Milvus 配置文件的副本:
cp docker-compose.yml docker-compose-before-upgrade.yml
在开始升级之前,请确认当前容器状态正常:
docker compose ps
步骤 2:更新 Milvus 镜像
在现有的 Compose 文件中,仅更新standalone 服务的镜像:
services:
standalone:
image: milvusdb/milvus:v3.0.1
拉取目标镜像,并仅重新创建 Milvus 容器:
docker compose pull standalone
docker compose up --detach standalone
Docker Compose 会保持现有的 etcd 和 object-storage 容器继续运行,并复用已配置的数据目录。
验证升级
检查容器状态以及 Milvus 容器所使用的镜像:
docker compose ps
docker compose images standalone
docker compose logs --tail 100 standalone
验证standalone 服务状态正常,其镜像为milvusdb/milvus:v3.0.1 ,且现有Collections仍可进行查询和搜索。在启用任何v3.0.1专属功能之前,请先完成这些检查。