部署milvus2.5.3(standalone模式)
环境:
os:Centos 7
milvus:2.5.3
1.创建部署目录
mkdir -p /home/middle/milvus
2.准备docker-compose.yml配置文件
内如如下:
模版文件从项目地址下载:
https://github.com/milvus-io/milvus/releases/tag/v2.5.3 然后根据自己的镜像进行相应的修改
我这里使用的是自己的镜像,需要根据自己环境情况进行修改
[root@host135 milvus]# more docker-compose.yml
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/etcd:v3.5.5
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://127.0.0.1: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
ports:
- "2379:2379"
minio:
container_name: milvus-minio
image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/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: registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.5.3
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
##- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
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"
attu:
container_name: attu
image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/attu:v2.4.7
environment:
MILVUS_URL: milvus-standalone:19530
ports:
- "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
11.登录milvus自带的监控界面
2.5.x新增的功能
http://192.168.1.105:9091/webui/
这里不知道为什么,是不是bug的原因,我的etcd是正常的,但是这里显示不可用.
解决办法:
1.不用理会,webui期望etcd部署在ssd,而且是3节点以上的集群环境,所以这里显示不可用;
2.修改docker-compose.yml
原来的:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.16
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://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
修改为
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.16
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
然后重新部署
docker compose down
docker compose up -d
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?