首先,milvus 向量数据库和 sql 类似,有 lite 版本和 standalone 版本,就是功能有些阉割:
- milvus lite 的话 python 直接安装 pymilvus 就可以用了
- standalone 版本则需要通过 docker 来进行部署
1. 安装 docker 与 docker-compose
这个在这里就不赘述了,但是需要将 docker 的源换成国内可用的,经过我测试,针对 milvus 镜像的下载,国内的下面两个源是可用的:
shell
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
打开 docker 的配置文件
shell
vi /etc/docker/daemon.json
在文件内新增
shell
{
"registry-mirrors": ["https://docker.1ms.run", "https://docker.xuanyuan.me"]
}
重启一下 docker
shell
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 获取 milvus 的 docker-compose.yml
类似下载脚本:
shell
mkdir milvus
cd milvus
wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
里面有 etcd, minio, standalone 三个服务的下载配置:
- etcd:用来存储 milvus 的元数据。
- minio:用来存储 milvus 的向量数据和索引数据
- standalone:就是 milvus 向量数据库单机版
然后如果我们需要类似 navicat 一样的工具来对向量数据库进行可视化查看的话,需要 milvus 的配套应用 attu,我们得在 yml 文件上加上 attu 相关的配置,就加在 service 的 standalone 下面:
yml
services:
etcd:
...
minio:
...
standalone:
...
attu:
container_name: attu
image: zilliz/attu:v2.3.6
environment:
MILVUS_URL: milvus-standalone:19530
ports:
- "8000:3000"
depends_on:
- "standalone"
networks:
default:
name: milvus
3. 拉取镜像运行应用
运行 docker-compose 命令,如果没有镜像的话,则会自动拉取:
shell
docker-compose up -d
可以通过 docker-compose ps
来查看目前运行的镜像:
python
NAME COMMAND SERVICE STATUS PORTS
attu "docker-entrypoint.s..." attu running 0.0.0.0:8000->3000/tcp, :::8000->3000/tcp
milvus-etcd "etcd -advertise-cli..." etcd running (healthy) 2379-2380/tcp
milvus-minio "/usr/bin/docker-ent..." minio running (healthy) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp
milvus-standalone "/tini -- milvus run..." standalone running (healthy) 0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::9091->9091/tcp, :::19530->19530/tcp
4. attu 查看 milvus 数据库
在 web 端,观察上面的端口,就可以通过 127.0.0.1:8000
来访问到 milvus 数据库。