详细步骤搭建
前置准备
安装docker、docker compose,参考:
- docker安装:https://blog.csdn.net/cl939974883/article/details/124394266
- docker compose安装:https://blog.csdn.net/cl939974883/article/details/126463806
1)配置docker镜像代理
情况1:如果是docker环境,则配置如下:
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.1panelproxy.com",
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
# 重启docker
systemctl restart docker
情况2:如果你是mac电脑,用的是orbstack(官网直接下载安装即可)
# 国内使用最先需要更换源,orbstack 的配置文件在
vim ~/.orbstack/config/docker.json # 等于是~/.docker/daemon.json 文件
# 修改并保存
{
"registry-mirrors": [
"https://docker.1panelproxy.com",
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
# 重启
orb restart docker
2)拉取最新部署minvus的docker-compose.yml
wget https://github.com/milvus-io/milvus/releases/download/v2.5.9/milvus-standalone-docker-compose.yml -O docker-compose.yml
完整配置如下:
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:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/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"
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/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:
container_name: milvus-standalone
image: milvusdb/milvus:v2.5.9
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/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"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
networks:
default:
name: milvus
3)修改配置milvus的密码
在standlone.environment下添加 MILVUS_USERNAME和MILVUS_PASSWORD设置密码:
- 补充两个配置如下:
- 123
- 123

MILVUS_USERNAME: root
MILVUS_PASSWORD: 123456
4)docker compose启动milvus服务standalone
启动服务过程

在对应目录下执行docker compose启动服务:
docker compose up -d

启动成功,orbstack也已启动:

访问milvus的web ui
milvus服务启动之后:
- 一个名为 Milvus 的 docker 容器在19530 端口启动。
- 嵌入式 etcd 与 Milvus 安装在同一个容器中,服务端口为2379。它的配置文件被映射到当前文件夹中的embedEtcd.yaml。要更改 Milvus 的默认配置,请将您的设置添加到当前文件夹中的user.yaml文件,然后重新启动服务。
- Milvus 数据卷被映射到当前文件夹中的volumes/milvus。

访问网址:http://127.0.0.1:9091/webui/

5)安装可视化工具Attu
软件形式安装
Attu:https://github.com/zilliztech/attu/releases
我的mac是m3,应该选择arm64.dmg版本的软件。
下载如下:

经过测试,可以下载x64的可行,arm64不行。
同时安装之后,会显示:

执行命令即可:
sudo spctl --master-disable
重新打开即可:

我们刚刚一开始配置了用户名、密码,这里就需要填写:

连接成功后效果如下:


创建collection name:

创建成功:

web服务模式访问
docker快速部署
对于Attu还包含有web服务模式,可以通过docker命令来启动服务:
docker run -p 8000:3000 -e MILVUS_URL=localhost:19530 zilliz/attu:latest
启动效果如下:

访问网址:http://localhost:8000/#/connect

# 注意:Attu 默认尝试连接 localhost:19530(Milvus 默认端口),但可能你的 Milvus 运行在不同地址,例如:Docker 环境:可能是 host.docker.internal:19530(Mac/Windows Docker 专用)
host.docker.internal:19530/default
连接成功效果如下:

编写查询表达式
例如查询metadata字段中的指定字段:
metadata['uuid'] == "AoAxYqlE4NkDTD2S"
参考
[1]. Milvus向量数据库 docker安装:https://blog.csdn.net/qq_35378008/article/details/147433448
[2]. Spring AI应用:利用DeepSeek+嵌入模型+Milvus向量数据库实现检索增强生成--RAG应用(一)(超详细):https://blog.csdn.net/wanganui/article/details/145593847
[3]. Spring AI应用:利用DeepSeek+嵌入模型+Milvus向量数据库实现检索增强生成--RAG应用(二)(超详细):https://blog.csdn.net/wanganui/article/details/145919410
评论区请在客户端页面查看