【技术底稿 13】内网 Milvus 2.3.0 向量数据库全流程部署(商助慧 AI 底座,Attu 可视化)

前言

作为一名 13 年经验的 Java 全栈开发者,在搭建个人 AI 项目「商助慧」(面向程序员的 AI 写作助手)的过程中,向量数据库 是 RAG 架构的核心基础设施。今天给大家带来纯内网环境下 Milvus 2.3.0 全流程部署方案,包含 Milvus、Etcd、MinIO、Attu 可视化,一次部署,AI 项目核心存储底座直接落地。


一、环境说明

  • 服务器:HP 服务器(IP:192.168.18.100)
  • 操作系统:Ubuntu 22.04
  • 部署方式:Docker + Docker Compose
  • 版本:Milvus 2.3.0(稳定生产级)
  • 私有仓库地址:192.168.18.100:5000
  • 部署目录:/home/xyy/myapp/project/02-AI
  • 项目用途:商助慧 v1.1 平台、知识库向量检索、大模型 RAG 架构

二、部署架构

milvus-standalone(19530 端口)

  • etcd:元数据存储
  • minio:对象存储
  • attu(18000 端口):可视化管理平台
  • 独立网络,不干扰业务 / 监控服务

三、Docker Compose 配置文件

文件名:docker-compose.yml

yaml

复制代码
version: '3.5'

services:
  etcd:
    container_name: milvus-etcd
    image: 192.168.18.100:5000/quay.io/coreos/etcd:v3.5.0
    command: etcd -advertise-client-urls http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379
    volumes:
      - ./volumes/etcd:/etcd
    restart: always
    networks:
      - milvus_network

  storage:
    container_name: milvus-minio
    image: 192.168.18.100:5000/minio/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    command: server /data
    volumes:
      - ./volumes/minio:/data
    restart: always
    networks:
      - milvus_network

  standalone:
    container_name: milvus-standalone
    image: 192.168.18.100:5000/milvusdb/milvus:v2.3.0
    command: ["milvus", "run", "standalone"]
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: storage:9000
    volumes:
      - ./volumes/milvus:/var/lib/milvus
    ports:
      - "19530:19530"
      - "9091:9091"
    depends_on:
      - "etcd"
      - "storage"
    restart: always
    networks:
      - milvus_network

  attu:
    container_name: milvus-attu
    image: 192.168.18.100:5000/zilliz/attu:latest
    ports:
      - "18000:3000"
    environment:
      - MILVUS_URL=milvus-standalone:19530
    depends_on:
      - standalone
    restart: always
    networks:
      - milvus_network

networks:
  milvus_network:
    driver: bridge

四、完整部署流程(可直接复制执行)

1. 镜像导入与私有仓库推送

bash

运行

复制代码
# 1. 加载镜像
docker load -i milvus-only-3-images.tar
docker load -i attu.tar

# 2. 打标签
docker tag quay.io/coreos/etcd:v3.5.0 192.168.18.100:5000/quay.io/coreos/etcd:v3.5.0
docker tag minio/minio:RELEASE.2023-03-20T20-16-18Z 192.168.18.100:5000/minio/minio:RELEASE.2023-03-20T20-16-18Z
docker tag milvusdb/milvus:v2.3.0 192.168.18.100:5000/milvusdb/milvus:v2.3.0
docker tag zilliz/attu:latest 192.168.18.100:5000/zilliz/attu:latest

# 3. 推送至私有仓库
docker push 192.168.18.100:5000/quay.io/coreos/etcd:v3.5.0
docker push 192.168.18.100:5000/minio/minio:RELEASE.2023-03-20T20-16-18Z
docker push 192.168.18.100:5000/milvusdb/milvus:v2.3.0
docker push 192.168.18.100:5000/zilliz/attu:latest

2. 一键启动命令

bash

运行

复制代码
# 进入部署目录
cd /home/xyy/myapp/project/02-AI

# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 查看运行状态
docker ps | grep milvus

五、访问地址与连接配置

1. 访问地址

  • Milvus 向量数据库:192.168.18.100:19530
  • Attu 可视化管理平台:http://192.168.18.100:18000

2. Attu 连接配置

表格

配置项 填写内容
Milvus 地址 192.168.18.100:19530
数据库 default
用户名
密码
启用 SSL 关闭

六、端口清单

表格

端口 用途
19530 Milvus 向量数据库服务
9091 Milvus 监控端口
18000 Attu 可视化管理平台(避开业务 8080 端口冲突)

七、DevOps 运维命令

bash

运行

复制代码
# 查看Milvus日志
docker logs -f milvus-standalone

# 查看Attu日志
docker logs -f milvus-attu

# 重启服务
docker-compose restart

# 查看容器状态
docker-compose ps

八、常见问题与解决方案

8.1 Milvus 无限重启

原因 :启动命令缺少run参数。解决

yaml

复制代码
command: ["milvus", "run", "standalone"]

8.2 Attu 无法连接 Milvus

解决

  • 取消勾选「启用 SSL」
  • 使用服务器真实 IP:192.168.18.100:19530

8.3 端口冲突

解决:业务已占用 8080/8081/8082,Attu 改为 18000 端口,避免冲突。

8.4 容器间网络不通

解决 :所有服务统一使用milvus_network网桥,自动互通。


九、项目价值(DevOps 亮点)

  • 纯内网环境部署,无外网依赖,安全稳定
  • 基础设施即代码,一键部署、可复现、可迁移
  • 企业级单机稳定架构,适合 AI 项目生产使用
  • Attu 可视化管理平台,降低运维与使用成本
  • 完美适配 RAG、知识库、大模型向量检索场景
  • 可无缝对接 SpringBoot / Python AI 服务,为「商助慧」AI 写作助手提供核心存储底座
  • 三层架构完全隔离(业务 / 监控 / AI),企业级标准

十、总结

Milvus 向量数据库是 AI 大模型 RAG 架构的核心基础设施,尤其是在个人 AI 项目「商助慧」的开发中,其价值不言而喻。本文基于真实生产环境,提供了一套纯内网、可直接复制执行的全流程部署方案,帮助开发者快速搭建 AI 项目核心存储底座,为后续知识库、大模型服务部署做铺垫。

后续将持续更新「技术底稿」系列,包括多节点集群、K3s、AI 项目开发等实战内容,欢迎持续关注!


📚 系列导航:

【人生底稿 01】|农村少年(1995--2005)

【技术底稿】01:37岁老码农,用4台机器搭了套个人DevOps平台

【产品底稿01】37 岁 Java 老码农,用 Java 搭了个 AI 写作助手,把自己 14 年技术文章全喂给了 AI!

相关推荐
厦门雄霸小赖总177500106832 小时前
伍德沃德 5466-409 产品介绍速率监测与调速控制
人工智能·机器人·自动化·制造·abb
YXWik62 小时前
Langchain4j(5)RAG之多格式文档加载(PDF / Word / TXT / 批量文件夹)
java
Seven972 小时前
【从0到1构建一个ClaudeAgent】内存管理-上下文压缩
java
XDHCOM2 小时前
ORA-38456: 属性集状态不一致,Oracle报错修复对比,远程处理方案选择
数据库·oracle
羊小蜜.2 小时前
Mysql 14: 存储引擎——架构、引擎对比与锁机制
数据库·mysql·架构
财迅通Ai2 小时前
卫星化学一季度净利同比增34.97% 海外业务高增叠加价差走阔创盈利新高
大数据·人工智能·卫星化学
动恰客流管家2 小时前
动恰3DV3丨展会客流统计解决方案:3D视觉技术赋能会展行业智慧化运营升级
大数据·数据结构·人工智能
迷藏4942 小时前
**基于Python与OpenCV的光场显示图像处理技术实践**在现代显示技术发展中,**光场显示(Light
java·图像处理·python·opencv
爱学习的小囧2 小时前
VM硬件版本20与17核心区别(ESXi 8.0适配+实操指南)
运维·服务器·网络·数据库·esxi·vmware·虚拟化