Docker Compose 安装了 Milvus 单机版启用安全验证

目录

1. 下载Milvus配置文件

2. 修改配置文件以启用认证

3. 修改Docker Compose文件以映射配置文件

4. 重启Milvus服务

5. 测试认证是否生效

6. (可选)修改默认密码或创建新用户

注意事项


在使用 Docker Compose 安装了 Milvus 单机版(Standalone),默认情况下是没有启用安全验证(即用户认证)的。要为 Milvus 添加安全验证,需要修改配置文件 milvus.yaml,启用认证功能,并确保 Docker Compose 正确映射该配置文件。下面是具体步骤:


1. 下载Milvus配置文件

首先,你需要获取 Milvus 的配置文件 milvus.yaml,并将其放置在本地目录中。可以用以下命令下载对应版本的配置文件(这里以 v2.4.15 为例):

bash

WrapCopy

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

假设你将 milvus.yaml 下载到当前工作目录(与 docker-compose.yml 同一目录)。


2. 修改配置文件以启用认证

打开 milvus.yaml 文件,找到 security 部分,修改 authorizationEnabled 的值设置为 true,如下所示:

yaml

WrapCopy

security: authorizationEnabled: true # 默认是 false,改为 true 以启用认证 # 可选:指定超级用户,超级用户在重置密码时无需提供旧密码 superUsers: "root" # 默认超级用户是 root,可以根据需要修改

保存文件后,这个配置会启用 Milvus 的用户认证功能。默认情况下,Milvus 会创建一个用户名为 root,密码为 Milvus 的账户。


3. 修改Docker Compose文件以映射配置文件

为了让 Milvus 容器使用你修改后的 milvus.yaml,需要在 docker-compose.yml 中添加卷映射。编辑 docker-compose.yml,在 standalone 服务下添加以下卷配置:

yaml

WrapCopy

services: standalone: container_name: milvus-standalone image: milvusdb/milvus:v2.4.15 command: ["milvus", "run", "standalone"] environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 volumes: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus - ./milvus.yaml:/milvus/configs/milvus.yaml # 添加这一行,映射本地 milvus.yaml ports: - "19530:19530" - "9091:9091" depends_on: - "etcd" - "minio" # 其他服务(etcd 和 minio)保持不变

  • ./milvus.yaml 是你本地的配置文件路径。

  • /milvus/configs/milvus.yaml 是容器内的目标路径。



  •  

4. 重启Milvus服务

保存修改后的 docker-compose.yml,然后重启 Milvus 以应用新配置:

bash

WrapCopy

# 先停止当前运行的容器 sudo docker-compose down
# 重新启动服务 sudo docker-compose up -d

等待所有容器状态变为 (healthy),可以通过以下命令检查:

bash

WrapCopy

sudo docker-compose ps


5. 测试认证是否生效

Milvus 默认提供了一个用户 root,密码为 Milvus。你可以用 Python 的 PyMilvus 客户端测试连接:

python

WrapCopy

from pymilvus import connections # 尝试连接,需要提供用户名和密码 connections.connect( alias="default", host="localhost", port="19530", user="root", password="Milvus" )
print("连接成功!")

如果不提供用户名和密码,或者提供错误的凭据,会返回类似 UNAUTHENTICATED 的错误,表示认证已生效。


6. (可选)修改默认密码或创建新用户

为了安全起见,建议更改默认 root 用户的密码,或者创建新用户。可以用以下代码完成:

python

WrapCopy

from pymilvus import utility # 连接默认 root 用户 connections.connect( alias="default", host="localhost", port="19530", user="root", password="Milvus" )
# 修改 root 用户密码 utility.reset_password("root", "Milvus", "NewP@ssw0rd", using="default") # 创建新用户 utility.create_user("new_user", "NewP@ssw0rd", using="default") # 列出所有用户,验证是否成功 users = utility.list_usernames(using="default") print(users)

之后,你可以用新用户和新密码连接 Milvus。


注意事项

  • 配置文件路径:确保 milvus.yaml 的路径在 docker-compose.yml 中正确映射。

  • 密码要求:用户名和密码长度不得超过 32 个字符,用户名必须以字母开头,仅包含字母、数字或下划线。

  • 重启生效:每次修改 milvus.yaml 后,都需要重启 Milvus 服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值