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
相关推荐
斯普信云原生组6 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪7 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人7 小时前
docker compose部署kafka集群搭建
docker·容器·kafka
开心码农1号9 小时前
k8s中service和ingress的区别和使用
云原生·容器·kubernetes
L1624769 小时前
Kubernetes 完整学习手册(1 主多从 + 纯 YAML 部署 + 访问原理)
学习·容器·kubernetes
sbjdhjd13 小时前
Docker | 核心概念科普 + 保姆级部署
linux·运维·服务器·docker·云原生·面试·eureka
摇滚侠13 小时前
Vmvare 虚拟机安装 Linux CentOS 7 操作系统 一键安装 Docker 1Panel 一键安装 MySQL Redis OpenClaw
linux·docker·centos
comedate13 小时前
【OpenClaw】 Open-WebUI Docker 部署连接本地 Ollama 技术文档
docker·ollama·openwebui·openclaw
川trans13 小时前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践
mysql·docker·kubernetes
BullSmall14 小时前
Prometheus 可以监控docker 部署的Nginx 吗?
nginx·docker·prometheus