环境:
os:Centos 7
milvus:2.5.3
1.创建部署目录
mkdir -p /home/middle/milvus
2.准备docker-compose.yml配置文件
内如如下:
我这里使用的是自己的镜像,需要根据自己环境情况进行修改
[root@host135 milvus]# more docker-compose.yml
version: '3.5'services:etcd:container_name: milvus-etcdimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/etcd:v3.5.5environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:test: ["CMD", "etcdctl", "endpoint", "health"]interval: 30stimeout: 20sretries: 3ports:- "2379:2379"minio:container_name: milvus-minioimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/minio:RELEASE.2023-03-20T20-16-18Zenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminports:- "9001:9001"- "9000:9000"volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_datacommand: minio server /minio_data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-standaloneimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.3command: ["milvus", "run", "standalone"]security_opt:- seccomp:unconfinedenvironment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus##- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yamlhealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]interval: 30sstart_period: 90stimeout: 20sretries: 3ports:- "19530:19530"- "9091:9091"depends_on:- "etcd"- "minio"attu:container_name: attuimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.4.7environment:MILVUS_URL: milvus-standalone:19530ports:- "8000:3000"depends_on:- "standalone"
networks:default:name: milvus
说明:
这里先注释掉配置文件,等容器启动后从容器里copy出来
##- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
3.将配置文件上传到部署目录
[root@node1 milvus]#cd /home/middle/milvus
[root@node1 milvus]# ls -l
total 4
-rw-r--r-- 1 root root 2195 Feb 11 10:52 docker-compose.yml
4.启动
[root@node1 milvus]# cd /home/middle/milvus
[root@node1 milvus]# docker compose up -d
5.拷贝milvus配置文件到所主机
[root@node1 milvus]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
67d794cbcd87 registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.4.7 "docker-entrypoint.s…" 7 seconds ago Up 3 seconds 0.0.0.0:8000->3000/tcp, :::8000->3000/tcp attu
b472f07a025f registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.3 "/tini -- milvus run…" 7 seconds ago Up 4 seconds (health: starting) 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::19530->19530/tcp milvus-standalone
dc6990860816 registry.cn-shenzhen.aliyuncs.com/hxlk8s/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" 7 seconds ago Up 5 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp milvus-minio
5d1f46b6788d registry.cn-shenzhen.aliyuncs.com/hxlk8s/etcd:v3.5.5 "etcd -advertise-cli…" 7 seconds ago Up 5 seconds (health: starting) 0.0.0.0:2379->2379/tcp, :::2379->2379/tcp, 2380/tcp milvus-etcd
[root@node1 milvus]#
拷贝容器里的配置文件到本地目录
docker cp b472f07a025f:/milvus/configs/milvus.yaml /home/middle/milvus/
6.修改配置文件
docker-compose.yml添加持久化配置项目
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
7.重新部署
cd /home/middle/milvus
docker compose down
docker compose up -d
8.修改配置开启安全认证
vi /home/middle/milvus/milvus.yaml
common > security > authorizationEnabled 并将其设置为true
9.重启动milvus
docker compose stop standalone
docker compose start standalone
10.attu登录
http://192.168.1.105:8000
默认的账号密码为:root/Milvus