部署向量数据库milvus
系统:CentOS 8.9
部署操作如下
# docker load -i etcd-v3.6.5.tar
# docker load -i minio-2023-03-20.tar
# docker load -i milvus-v2.3.3.tar
# docker load -i attu-v2.3.0.tar
# cd /app/
# mkdir milvus_demo
# cd milvus_demo/
# vim docker-compose.yml
PRD [root@1a32vla1320aiqa milvus_demo]# docker compose up -d
[+] Running 7/7
✔ Network milvus-network Created 0.1s
✔ Volume "milvus_demo_milvus_data" Created 0.0s
✔ Volume "milvus_demo_etcd_data" Created 0.0s
✔ Volume "milvus_demo_minio_data" Created 0.0s
✔ Container milvus-etcd Started 0.0s
✔ Container milvus-minio Started 0.0s
✔ Container milvus-standalone Started 0.0s
PRD [root@1a32vla1320aiqa milvus_demo]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87be30919a77 milvusdb/milvus:v2.3.3 "/tini -- milvus run…" 4 seconds ago Up 2 seconds (health: starting) 0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp milvus-standalone
1544c34fb049 minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" 4 seconds ago Up 3 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp milvus-minio
342d925bcf56 quay.io/coreos/etcd:v3.6.5 "etcd --data-dir=/et…" 4 seconds ago Up 3 seconds 0.0.0.0:2379-2380->2379-2380/tcp milvus-etcd# docker ps
PRD [root@1a32vla1320aiqa milvus_demo]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/coreos/etcd v3.6.5 a3e246e9556e 3 weeks ago 62.5MB
milvusdb/milvus v2.3.3 7e482a814849 23 months ago 870MB
zilliz/attu v2.3.0 e2e83535de77 2 years ago 262MB
minio/minio RELEASE.2023-03-20T20-16-18Z 400c20c8aac0 2 years ago 252MB
PRD [root@1a32vla1320aiqa milvus_demo]# docker run -d --name attu --network milvus-network -p 8000:8000 zilliz/attu:v2.3.0
8dfccf4d1f03da9bde0226b4f05de81b933ebb11572926739af57e83098a43ee
PRD [root@1a32vla1320aiqa milvus_demo]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8dfccf4d1f03 zilliz/attu:v2.3.0 "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 3000/tcp, 0.0.0.0:8000->8000/tcp attu
87be30919a77 milvusdb/milvus:v2.3.3 "/tini -- milvus run…" 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp milvus-standalone
1544c34fb049 minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:9000-9001->9000-9001/tcp milvus-minio
342d925bcf56 quay.io/coreos/etcd:v3.6.5 "etcd --data-dir=/et…" 2 minutes ago Up 2 minutes 0.0.0.0:2379-2380->2379-2380/tcp milvus-etcd
docker-compose.yml
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.6.5
ports:
- "2379:2379"
- "2380:2380"
volumes:
- etcd_data:/etcd_data
networks:
- milvus
command: >
etcd
--data-dir=/etcd_data
--name=etcd0
--initial-advertise-peer-urls=http://127.0.0.1:2380
--listen-peer-urls=http://0.0.0.0:2380
--listen-client-urls=http://0.0.0.0:2379
--advertise-client-urls=http://127.0.0.1:2379
--initial-cluster-token=etcd-cluster
--initial-cluster=etcd0=http://127.0.0.1:2380
--initial-cluster-state=new
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:
- minio_data:/minio_data
command: minio server /minio_data --console-address ":9001"
networks:
- milvus
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.3.3
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
MQ_TYPE: rocksmq
volumes:
- milvus_data:/var/lib/milvus
networks:
- 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:
condition: service_started
minio:
condition: service_started
volumes:
etcd_data:
minio_data:
milvus_data:
networks:
milvus:
name: milvus-network
至此,部署成功。就可以去做数据处理了