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
相关推荐
sulikey1 小时前
服务器安装Docker教程。如何在云服务器安装Docker容器?
运维·服务器·ubuntu·docker·安装教程·云服务器
窝子面2 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
张忠琳15 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客17 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
风曦Kisaki19 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201320 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行1 天前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax1 天前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc1 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo1 天前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset