Docker 部署 Milvus 并连接现有 MinIO 对象存储

文章目录

  • 一、准备工作
  • [二、下载 Milvus Docker Compose 文件](#二、下载 Milvus Docker Compose 文件)
  • [三、修改配置对接现有 MinIO](#三、修改配置对接现有 MinIO)
  • [四、启动 Milvus](#四、启动 Milvus)
  • [五、验证 Milvus 是否正常运行](#五、验证 Milvus 是否正常运行)

Milvus 是一款开源的向量数据库,专为大规模 AI、搜索与推荐场景设计,用于管理和快速检索海量特征向量数据。Milvus 支持 Docker 容器化部署,并可与 MinIO 兼容 S3 的对象存储集成,用于持久化向量索引和数据文件等内容。


一、准备工作

环境需求

你需要具备以下环境与工具:

  • 已安装 Docker + Docker Compose
  • 已运行可访问的 MinIO 服务(例如 localhost:9000);
  • 已创建用于 Milvus 的 MinIO bucket(例如 a-bucket)。
    Milvus 在 MinIO/S3 中存储数据的 bucket 需要是已经存在或可被创建的。

二、下载 Milvus Docker Compose 文件

Milvus 官方提供了用于单机版部署的 docker-compose 文件。我们将它保存到本地:

bash 复制代码
mkdir -p ~/milvus
cd ~/milvus

# 下载最新的 standalone Docker Compose 配置
wget https://github.com/milvus-io/milvus/releases/download/v2.6.9/milvus-standalone-docker-compose.yml -O docker-compose.yml

⚠ 这里使用官方提供的 standalone 版本,是适合单节点环境的快速部署方式。


三、修改配置对接现有 MinIO

默认的 docker-compose 文件中会包含一个 MinIO 服务。但你已经有自己的 MinIO,因此需要做以下调整:

修改 Docker Compose

打开 docker-compose.yml

  • 注释掉或删除默认的 MinIO 服务块
  • 确保 standalone 服务部分使用你的 MinIO 地址

示例片段:

yaml 复制代码
services:
  # 这里注释掉官方的 MinIO 部分
  # minio:
  #   image: minio/minio
  #   ...

  milvus-standalone:
    image: milvusdb/milvus:v2.6.9
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: 192.168.121.140:9000
      MINIO_ACCESS_KEY_ID : admin
      MINIO_SECRET_ACCESS_KEY: admin123456
      MINIO_BUCKET_NAME: sky-public
      MINIO_USE_SSL: "false"
      MQ_TYPE: rocksmq
    depends_on:
      - etcd
    ports:
      - "19530:19530"
      - "9091:9091"

⚠ 确保以下参数对应你的 MinIO:


四、启动 Milvus

完成配置后,在同一目录运行:

bash 复制代码
# 拉取镜像
docker compose pull

# 启动容器
docker compose up -d

# 查看容器健康状态
docker compose ps

如果一切配置正确:

  • Milvus gRPC 接口监听在 19530
  • Milvus Web UI 监听在 9091

你可以在浏览器中访问 Web UI(例如 http://192.168.121.140:9091/healthz)检查运行状态和健康指标。


五、验证 Milvus 是否正常运行

相关推荐
llrraa20103 小时前
配置docker国内镜像源
运维·docker·容器
华为云开发者联盟5 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
m_136875 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
米高梅狮子7 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
米高梅狮子8 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github
代码熬夜敲Q9 小时前
Docker基础
运维·docker·容器
亚空间仓鼠9 小时前
Docker容器化高可用架构部署方案(十四)
docker·容器·架构
Zhu75811 小时前
【配置优化】docker29及以上版本配置优化。
docker
土星云SaturnCloud12 小时前
土星云AI边缘计算-算法运行环境搭建:Docker部署全流程实操
服务器·人工智能·docker·ai·边缘计算
fanzhonghong12 小时前
javaWeb后端开发之Linux项目部署3和Docker部署1
linux·服务器·前端·docker