安装 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. 清理数据卷后重试

相关推荐
chushiyunen16 小时前
milvus数据库管理工具attu使用笔记
笔记·milvus
捧月华如1 天前
RAG 入门-向量存储与企业级向量数据库 milvus
数据库·milvus
tHeya06II2 天前
使用Milvus搭配Ollama搭建RAG知识库
milvus
翊谦3 天前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
JHC0000004 天前
基于Ollama,Milvus构建的建议知识检索系统
人工智能·python·milvus
追雨潮5 天前
内存向量检索引擎设计与实现:C# 轻量级 Milvus 替代方案
开发语言·c#·milvus
风萧萧19998 天前
Milvus Java 快速入门
java·开发语言·milvus
惊讶的猫8 天前
milvus的使用
milvus·rag
java资料站9 天前
milvus向量数据库
数据库·milvus
Java后端的Ai之路11 天前
Milvus 向量数据库从入门到精通:AI 时代的“记忆中枢“实战指南(建议收藏!)
数据库·人工智能·milvus·向量数据库·rag