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

相关推荐
寂寞旅行8 天前
向量数据库Milvus的使用
数据库·milvus
CCPC不拿奖不改名9 天前
虚拟机基础:在VMware WorkStation上安装Linux为容器化部署打基础
linux·运维·服务器·人工智能·milvus·知识库搭建·容器化部署
heimeiyingwang10 天前
如何用向量数据库构建企业级语义检索系统
数据库·mongodb·nosql·milvus
rongyili8811 天前
Dify 外部知识库集成 Milvus 实战指南
开发语言·python·milvus
Hoking12 天前
milvus向量数据库介绍与部署(docker-compose)
人工智能·milvus·向量数据库
IT_Octopus12 天前
AI 工程 生产级别 向量数据库 Milvus 部署架构&多租户方案&节点流程简单总结
数据库·架构·milvus
IT_Octopus13 天前
AI 工程 生产级别向量数据库Milvus2.6.10性能测试报告
数据库·人工智能·milvus
陌陌62314 天前
应届生第一门 AI 大模型实战课:RAG、Dify、Milvus 与 Vibe Coding
人工智能·milvus
栖凤15 天前
架构选型深度分析:Spring AI vs Python(Flask + React + Milvus + MongoDB)
人工智能·python·mongodb·spring·架构·flask·milvus