跳转至

Milvus docker 方式部署

使用docker compose安装Milvus standalone(即单机版),进行快速部署

前提条件:

  1. 系统可以是centos、ubuntu,我使用的是centos7.9
  2. 已经安装好docker compose工具
  3. milvus我使用的当前最新版milvus:v2.6.7,(milvus更新比较频繁,具体需要查看介绍)

启动服务

由于milvus依赖etcdminio,需要先启动这两个服务

etcd: 用来存储milvus的元数据

minio: 用来存储milvus的向量数据和索引数据

下载配置文件

官网给的地址不能访问

wget https://raw.githubusercontent.com/milvus-io/milvus/v2.6.7/configs/milvus.yaml

直接去项目地址复制也可以

https://github.com/milvus-io/milvus/blob/v2.6.7/configs/milvus.yaml

将配置文件复制到本地

Bash
root@pts/1 # ll configs/milvus.yaml 
-rwxrwxr-- 1 root root 99952 12月  3 15:26 configs/milvus.yaml

配置文件参数详细信息参照官网

https://milvus.io/docs/zh/system_configuration.md

这里使用默认先启动

下载安装文件

下载 MilvusStandalone 的安装文件,并将其保存为docker-compose.yml

Bash
root@pts/0 # cd /opt/app/milvus
root@pts/0 # wget https://github.com/milvus-io/milvus/releases/download/v2.6.7/milvus-standalone-docker-compose.yml -O docker-compose.yml

稍微修改下,将配置文件添加到挂载卷

Bash
  standalone:
    container_name: milvus-standalone
    ...

    volumes:
      # 加入下方的路径映射
      - ${DOCKER_VOLUME_DIRECTORY:-.}/configs/milvus.yaml:/milvus/configs/milvus.yaml
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus

    ...

  # 这个是配置一个图形管理工具,添加在services模块最后即可(可选的)
  attu:
    container_name: milvus-attu
    image: zilliz/attu:v2.6
    environment:
      MILVUS_URL: standalone:19530
    ports:
      - "8000:3000"
    depends_on:
      - "etcd"
      - "minio"
      - "standalone"

启动容器

修改docker-compose.yml后就可以启动容器,关于milvus.yaml配置文件的修改,参照官网说明,按需修改

Bash
docker compose up -d

其它相关命令

Bash
# 查看容器
docker compose ps
# 停止容器
docker compose stop
# 启动容器
docker compose start
# 停止并删除
docker compose down
# 查看日志
docker compose logs -f --tail 20

启动attu

attu是一个图形界面管理工具,可以放在上边docker-compose.yml中,也可以用下方单独启动

Bash
docker run -d -p 8000:3000 -e MILVUS_URL=172.16.1.27:19530 zilliz/attu:v2.6 

相关地址

attu

http://172.16.1.27:8000 直接链接即可

image-20260119165612616

image-20260119165646366

minio

http://172.16.1.27:9001/login minioadmin minioadmin

image-20260119165749993

image-20260119165801370