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
相关推荐
Cat God 00719 分钟前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
m0_474606781 小时前
Linux安装docker教程
linux·运维·docker
ShadowSmartMicros1 小时前
java调用milvus数据库
java·数据库·milvus
Jewel Q1 小时前
QEMU、KVM、Docker、K8s(Kubernetes)
docker·容器·kubernetes
学Linux的语莫2 小时前
prometheus、grafana的docker搭建
docker·容器·prometheus
lisanmengmeng2 小时前
zentao的prod环境升级(一)
linux·运维·数据库·docker·容器·禅道
kkoral2 小时前
单机docker部署的redis sentinel,使用python调用redis,报错
redis·python·docker·sentinel
wuxingge4 小时前
k8s部署xxl-job
容器·kubernetes
没有bug.的程序员6 小时前
微服务基础设施清单:必须、应该、可以、无需的四级分类指南
java·jvm·微服务·云原生·容器·架构
卡布叻_星星7 小时前
Docker之Windows与Linux不同架构部署理解
linux·windows·docker