Milvus docker-compose 部署

文章目录

  • 前言
    • [Milvus docker-compose 部署](#Milvus docker-compose 部署)
      • [1. 下载](#1. 下载)
      • [2. 修改配置](#2. 修改配置)
      • [3. 启动](#3. 启动)
      • [4. 测试](#4. 测试)

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。

  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Milvus docker-compose 部署

适合开发测试,启动简单,整合 etcd、minio 等组件

1. 下载

下载:git clone https://github.com/milvus-io/milvus.git

并切换到最新的tag v2.6.0-rc1

2. 修改配置

进入下面文件夹中

python 复制代码
cd deployments/docker/standalone

docker-compose.yml 包含完整 Milvus 核心服务 + etcd + minio。

整体结构:

bash 复制代码
services:
  etcd:       # 元数据存储
  minio:      # 向量文件存储
  standalone: # Milvus 向量服务主进程

修改docker-compose.yml配置:

bash 复制代码
version: '3.5'

services:
  etcd: # 元数据服务
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.18
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision # 定期清理历史版本数据
      - ETCD_AUTO_COMPACTION_RETENTION=1000 # 限制元数据存储大小
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - /f/soft/milvus/deployments/docker/standalone/etcd:/etcd  # 持久化元数据到本地目录
    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    healthcheck:
      test: ["CMD", "etcdctl", "endpoint", "health"]
      interval: 30s
      timeout: 20s
      retries: 3

  minio: # 向量存储(对象存储)
    container_name: milvus-minio
    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    ports:
      - "9001:9001"  # 控制台面板监听
      - "9000:9000"  # API 接口监听
    volumes:
      - /f/soft/milvus/deployments/docker/standalone/minio:/minio_data
    command: minio server /minio_data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  standalone: # Milvus 主程序
    container_name: milvus-standalone
    image: milvusdb/milvus:v2.5.13
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
      MINIO_REGION: us-east-1                 # 保持默认即可
      ETCD_ENDPOINTS: etcd:2379              # etcd 服务名 + 端口
      MINIO_ADDRESS: minio:9000       
      MINIO_ACCESS_KEY: minioadmin           # 推荐明确写出用户名(默认配置也是这个)
      MINIO_SECRET_KEY: minioadmin           # 推荐明确写出密码
    volumes:
      - /f/soft/milvus/deployments/docker/standalone/milvus:/var/lib/milvus
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    ports:
      - "19530:19530"  # gRPC 接口(推荐 Java/Go/SDK 使用)
      - "9091:9091"    # HTTP REST 接口(用于健康检查等)
    depends_on:
      - "etcd"
      - "minio"

networks:
  default:
    name: milvus

创建文件夹milvus、minio、etcd、作为持久化数据到本地的目录

3. 启动

通过docker-compose 启动:

bash 复制代码
docker-compose up -d

第一次启动,会先下载镜像

docker ps 查看是否启动成功!

4. 测试

访问健康检查接口:

curl http://localhost:9091/healthz

验证成功,停止所有容器。

bash 复制代码
docker-compose down -v
相关推荐
xsc-xyc1 天前
CasaOS + Docker 挂载外接硬盘部署 Jellyfin 私人影院
运维·docker·容器
码云骑士1 天前
27-Docker部署Django(上)-从2GB到180MB的镜像瘦身实战
docker·容器·django
日取其半万世不竭1 天前
PostgreSQL 跑在 Docker 里怎么备份?恢复成功才算备份成功
数据库·docker·postgresql
至此流年莫相忘1 天前
WSL2 下 Docker Desktop 完全配置指南:从安装到极速体验
运维·docker·容器
万能的知了1 天前
K8s到底需不需要GPU节点?集群资源分配的底层逻辑
云原生·容器·kubernetes
极客先躯1 天前
高级java每日一道面试题-2026年02月12日-实战篇[Docker]-什么是容器的 Seccomp 配置?如何自定义?
java·运维·分布式·docker·容器·自动化·文件
master3361 天前
GitLab (Docker) 常用命令及解决方案清单
docker·容器·gitlab
卧室小白1 天前
K8S基础-控制器&deploy&pod回滚更新&service
docker·容器·kubernetes
许彰午1 天前
零基础无文档啃读纯实操摸索学会Docker全过程
运维·docker·容器
江湖有缘1 天前
零门槛搭建个人微社区:Docker部署 Paopao-ce 完整教程
运维·docker·容器