Docker安装Milvus的实现步骤

 更新时间:2026年03月19日 10:23:59   作者:流水若轩  
本文主要介绍了Docker安装Milvus的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

使用 Docker 安装 Milvus(向量数据库)最推荐的方式是使用 Docker Compose,因为 Milvus 依赖多个组件(如 Etcd、MinIO 等)协同工作。

以下是基于官方最新文档整理的 Milvus standalone(单机版) 安装步骤,适用于 Linux、macOS 以及安装了 WSL2 的 Windows 环境。

1. 前置条件

  • Docker: 版本 20.10.0 或更高。
  • Docker Compose: 版本 2.0.0 或更高。
  • 内存: 建议至少分配 4GB 以上内存给 Docker。
    • 注意:如果在 macOS 或 Windows 上使用 Docker Desktop,请确保在设置中增加了容器的内存限制。

2. 下载配置文件

Milvus 官方提供了一个 docker-compose.yml 文件来编排所有必要的服务。

创建一个目录并进入:

下载最新的 docker-compose.yml 和 .env 文件(以 v2.4.x 或最新版为例,具体版本号可根据需求调整):

1# 下载 docker-compose.yml
wget https://github.com/milvus-io/milvus/releases/download/v2.4.8/milvus-standalone-docker-compose.yml -O docker-compose.yml
 
2# 下载 .env 配置文件 (可选,但推荐,用于配置版本号和存储路径)
wget https://github.com/milvus-io/milvus/releases/download/v2.4.8/.env -O .env

(注:如果无法使用 wget,可以直接访问 GitHub release 页面手动下载,或者使用 curl)

3. 启动 Milvus

在包含 docker-compose.yml 的目录下运行以下命令:

docker compose up -d
  • -d 表示后台运行。
  • 首次运行时,Docker 会自动拉取 milvusdb/milvusquay.io/coreos/etcd 和 minio/minio 等镜像,可能需要几分钟。

4. 验证安装

等待约 1-2 分钟让服务完全启动,然后检查容器状态:

docker compose ps

所有服务的状态应显示为 Up 或 healthy

你也可以查看日志确认没有报错:

docker compose logs -f

按 Ctrl+C 退出日志查看。

5. 连接测试

Milvus 默认监听端口 19530。你可以使用 Python SDK (pymilvus) 进行连接测试。

首先安装 SDK:

pip install pymilvus

创建一个测试脚本 test_milvus.py

from pymilvus import connections, utility
 
# 连接 Milvus
4connections.connect("default", host="localhost", port="19530")
 
# 检查连接并获取版本
if utility.has_collection("non_existent_collection"): # 仅测试连接
    print("Connected successfully!")
else:
    print("Connected successfully! (Collection check passed)")
 
print(f"Milvus version: {utility.get_version()}")

运行脚本:

python test_milvus.py

如果输出连接成功及版本号,说明安装完成。

6. 常用管理命令

停止 Milvus:bash

docker compose down

重启 Milvus:bash

docker compose restart

清理数据 (慎用):
如果需要重置数据,需删除挂载的 volumes 目录(通常在当前目录下的 volumes 文件夹),然后重新 up。bash

docker compose down -v # -v 会删除卷,数据将丢失

常见问题与注意事项

端口冲突: 默认使用 19530 (API), 9091 (Metrics), 2379 (Etcd), 9000 (MinIO)。如果端口被占用,请编辑 docker-compose.yml 修改映射端口。

WSL2 (Windows): 确保 WSL2 后端已启用,且 Docker Desktop 设置为使用 WSL2 引擎。

GPU 支持: 如果需要 GPU 加速版本,需要下载带有 gpu 标签的 docker-compose 文件,并确保宿主机安装了 NVIDIA Container Toolkit。

Attu (可视化管理工具): 如果需要图形化界面,可以单独部署 Attu 容器:bash

docker run -d --name attu --network milvus-milvus -p 3000:3000 -e MILVUS_URL=http://milvus:19530 zilliz/attu

(注意:network 名称需与你实际 docker compose 生成的网络名称一致,通常是 项目名_default 或 项目名-milvus)

到此这篇关于Docker安装Milvus的实现步骤的文章就介绍到这了,更多相关Docker安装Milvus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker容器中文件与本地相互复制拷贝方式

    Docker容器中文件与本地相互复制拷贝方式

    这篇文章主要介绍了Docker容器中文件与本地相互复制拷贝方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker匿名挂载和具名挂载的具体使用

    Docker匿名挂载和具名挂载的具体使用

    Docker的挂载是将容器内的目录和宿主机的目录进行绑定,本文主要介绍了Docker匿名挂载和具名挂载的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Docker Machine远程部署Docker的方法

    Docker Machine远程部署Docker的方法

    本篇文章主要介绍了Docker Machine远程部署Docker的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 基于docker启动nginxssl配置

    基于docker启动nginxssl配置

    这篇文章主要介绍了基于docker启动nginxssl配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 使用docker运行jenkins期间遇到的问题及解决方案

    使用docker运行jenkins期间遇到的问题及解决方案

    文章介绍了在使用Docker运行Jenkins时遇到的一些问题及其解决方法,包括使用jenkins/jenkins镜像、解决多分支流水项目创建问题、以及解决Docker容器内部调用宿主机Docker权限问题,感兴趣的朋友一起看看吧
    2025-03-03
  • 如何在centos的docker里安装jupyter并开放端口

    如何在centos的docker里安装jupyter并开放端口

    上次有一朋友问小编如何在centos的docker里安装jupyter并开放端口呢?在这就不一一回复大家了,下面小编把我的个人经验分享到脚本之家平台,感兴趣的朋友一起看看吧
    2021-08-08
  • kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录

    kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录

    今天小编就为大家分享一篇关于kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Linux执行Docker命令提示Get Permission Denied的解决方案

    Linux执行Docker命令提示Get Permission Denied的解决方案

    这篇文章主要介绍了Linux执行Docker命令提示Get Permission Denied的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • docker 如何修改mysql的root密码

    docker 如何修改mysql的root密码

    这篇文章主要介绍了docker 修改mysql的root密码操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker新手实践及部署NGINX的步骤详解

    Docker新手实践及部署NGINX的步骤详解

    最近工作中有个需求, 用docker去部署nginx的静态服务器。仔细观察这个命题,看似不难,但实际其中的注意点很多,新手很容易搞错,所以下面这篇文章主要给大家介绍了关于Docker新手实践及部署NGINX的步骤,需要的朋友可以参考下。
    2017-11-11

最新评论