安装 Milvus Standalone 模式的完整指南及常见问题解决

安装 Milvus Standalone 模式的完整指南及常见问题解决

    • 引言
    • 环境准备
      • 系统要求
      • [配置 Docker 镜像加速器](#配置 Docker 镜像加速器)
    • 安装步骤
      • [1. 下载官方 Standalone 嵌入式启动脚本](#1. 下载官方 Standalone 嵌入式启动脚本)
      • [2. 修改镜像标签(v2.6.11 未推送,使用 master 分支最新可用构建)](#2. 修改镜像标签(v2.6.11 未推送,使用 master 分支最新可用构建))
      • [3. 创建并设置数据目录权限(最关键步骤,避免权限拒绝)](#3. 创建并设置数据目录权限(最关键步骤,避免权限拒绝))
      • [4. 启动 Milvus](#4. 启动 Milvus)
      • [5. 验证是否成功](#5. 验证是否成功)
    • 常见问题归纳与解决方案
      • [问题 1:镜像拉取失败(not found / connection refused)](#问题 1:镜像拉取失败(not found / connection refused))
      • [问题 2:容器启动后立即退出(Exited 134)](#问题 2:容器启动后立即退出(Exited 134))
      • [问题 3:权限拒绝(mkdir /var/lib/milvus/data/: permission denied)](#问题 3:权限拒绝(mkdir /var/lib/milvus/data/: permission denied))
      • [问题 4:脚本卡在 "Wait for Milvus Starting..."](#问题 4:脚本卡在 "Wait for Milvus Starting...")

引言

Milvus 是一个开源向量数据库,专为处理大规模向量数据而设计,支持向量相似性搜索、实时查询等功能。Standalone 模式是 Milvus 的单机嵌入式部署方式,适合学习、测试和小规模应用。它使用 Docker 容器运行,嵌入 etcd 作为元数据存储,无需外部依赖。

在实际安装过程中,我遇到了镜像标签不存在、网络连接拒绝、容器权限不足导致启动失败(Exited 134)、脚本卡在等待状态等多个问题。本文基于 2026 年 2 月 24 日在 VMware Ubuntu 虚拟机中的真实安装经验,提供完整步骤,并系统归纳问题及解决方案。宿主机配置为 Intel Core i9-12900H + 16 GB RAM。

环境准备

系统要求

  • Ubuntu 20.04 或更高版本(推荐 22.04 LTS)
  • Docker 20.10 或更高版本
  • 虚拟机最低配置建议:8--12 GB RAM、4--8 vCPU(建议 1 处理器 × 6--8 内核)
  • 网络:建议配置国内镜像加速器

配置 Docker 镜像加速器

编辑 /etc/docker/daemon.json

json 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://mirror.ccs.tencentyun.com",
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

重启 Docker:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

验证加速器配置:

bash 复制代码
sudo docker info | grep -A 10 "Registry Mirrors"

安装步骤

1. 下载官方 Standalone 嵌入式启动脚本

bash 复制代码
wget https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh
chmod +x standalone_embed.sh

2. 修改镜像标签(v2.6.11 未推送,使用 master 分支最新可用构建)

编辑 standalone_embed.sh,找到 docker run 命令中的镜像行,将:

bash 复制代码
milvusdb/milvus:v2.6.11 \

改为:

bash 复制代码
milvusdb/milvus:master-20260224-091b147e-amd64 \

或更稳定的前一天版本:

bash 复制代码
milvusdb/milvus:master-20260223-49bf0b63-amd64 \

保存文件。

3. 创建并设置数据目录权限(最关键步骤,避免权限拒绝)

bash 复制代码
# 删除旧目录(防止残留错误权限)
rm -rf ./volumes/milvus

# 创建新目录
mkdir -p ./volumes/milvus

# 设置所有者和权限(确保容器内非 root 用户可写)
sudo chown -R $USER:$USER ./volumes/milvus
chmod -R 775 ./volumes/milvus

# 验证权限(应显示 drwxrwxr-x ai-stu ai-stu)
ls -ld ./volumes/milvus

4. 启动 Milvus

bash 复制代码
bash standalone_embed.sh start

5. 验证是否成功

等待脚本输出 "Start successfully."

检查容器状态:

bash 复制代码
sudo docker ps

应显示 Up ... (healthy)

测试健康接口:

bash 复制代码
curl http://localhost:19530/healthz

应返回 "ok"

常见问题归纳与解决方案

问题 1:镜像拉取失败(not found / connection refused)

现象:

  • Unable to find image ... not founddial tcp ... connection refused

原因:

解决方案:

  1. 使用 master 分支 dated 构建标签(如 master-20260224-091b147e-amd64
  2. 配置国内加速器(轩辕、阿里云、网易等)
  3. 离线传输方式:在可访问网络的机器上 pull + save:
bash 复制代码
docker pull milvusdb/milvus:master-20260224-091b147e-amd64
docker save -o milvus.tar milvusdb/milvus:master-20260224-091b147e-amd64
gzip milvus.tar

传输到服务器后加载:

bash 复制代码
gunzip milvus.tar.gz
sudo docker load -i milvus.tar

问题 2:容器启动后立即退出(Exited 134)

现象:

  • sudo docker ps -a 显示 Exited (134)

原因:

  • SIGABRT 信号,进程内部 abort
  • 通常由权限拒绝、初始化失败或内存不足引起

解决方案:

  1. 查看日志:

    bash 复制代码
    sudo docker logs milvus-standalone --tail 100
  2. 增加虚拟机内存到 8--12 GB

  3. 清理并重新设置权限(见步骤 3)

  4. 尝试更稳定标签(如 master-20260223-49bf0b63-amd64

问题 3:权限拒绝(mkdir /var/lib/milvus/data/: permission denied)

现象:

  • 日志显示 [FATAL] ... permission denied 并 panic

原因:

  • 宿主机 ./volumes/milvus 目录权限不足
  • 容器内非 root 用户无法创建子目录

解决方案:

  1. 必须先删除旧目录:

    bash 复制代码
    rm -rf ./volumes/milvus
  2. 重新创建并设置权限(步骤 3)

  3. 推荐使用 775 权限,确保组可写

问题 4:脚本卡在 "Wait for Milvus Starting..."

现象:

  • 脚本长时间无输出

原因:

  • 容器未达到 healthy 状态(崩溃或健康检查失败)

解决方案:

  1. 新终端检查状态:

    bash 复制代码
    sudo docker ps -a
  2. 查看实时日志:

    bash 复制代码
    sudo docker logs -f milvus-standalone
  3. 手动测试健康接口:

    bash 复制代码
    curl http://localhost:19530/healthz
  4. 清理数据卷后重试

相关推荐
SuniaWang4 小时前
Vue 3 + Spring Boot 21 全栈 RAG 项目Docker Compose 容器化部署
vue.js·人工智能·spring boot·spring·阿里云·docker·milvus
装不满的克莱因瓶2 天前
【从零搭建】SpringAI Alibaba + RAG + Milvus + Qwen 项目实战
人工智能·ai·大模型·milvus·rag·springai·向量库
云溪·3 天前
Milvus向量数据库混合检索召回案例
python·ai·milvus
爱搜光年医疗GEO4 天前
《踩坑记录:用 Milvus 标量过滤剔除“无执业资质”医疗语料的一次向量检索优化》
milvus·ai搜索优化·geo优化·爱搜光年geo·医疗行业geo
堕落年代4 天前
Meilisearch核心搜索逻辑与主流向量搜索引擎(Elasticsearch、Milvus)深度对比
elasticsearch·搜索引擎·milvus
阿梦Anmory4 天前
快速部署Milvus 2.6.4单机版向量数据库(Docker Compose方式)
数据库·docker·milvus
fusugongzi6 天前
milvus数据库安装
数据库·milvus
SuniaWang20 天前
Milvus 深度解析:为 AI 而生的云原生向量数据库
数据库·人工智能·milvus
寂寞旅行1 个月前
向量数据库Milvus的使用
数据库·milvus