部署milvus2.5.3(standalone模式) - slnngk - 博客园

环境:
os:Centos7
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

原网址: 访问
创建于: 2025-08-27 17:08:04
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论