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
相关推荐
ldj20208 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
ldj20208 小时前
docker 自定义网桥作用
docker·容器
java叶新东老师8 小时前
k8s常用命令
云原生·容器·kubernetes
土豆丶杨10 小时前
centos 配置docker
docker·eureka·centos
杰哥的狗10 小时前
nacos连接失败,启动失败常见问题
linux·docker
DarkAthena11 小时前
【GaussDB】构建一个GaussDB的Docker镜像
数据库·docker·gaussdb
风筝超冷13 小时前
【Milvus合集】1.Milvus 的核心概念(collection、field、index、partition、segment)
人工智能·机器学习·milvus
张火火isgudi14 小时前
CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
服务器·docker·容器
qq_4477053116 小时前
宝塔通过docker部署JupyterHub指南【常见错误处理】
运维·docker·容器
tanxiaomi16 小时前
docker 从主机复制文件到容器外进行编辑
运维·docker·容器