在 Mac 上使用 Docker 安装 Milvus 2.6.2 

前提条件

  1. 已安装 Docker Desktop for Mac

  2. Docker 已启动,并分配足够资源(建议):

    1. CPU ≥ 4 核

    2. 内存 ≥ 8GB

第一步:创建 Milvus 目录

mkdir milvus-2.6.2 && cd milvus-2.6.2

第二步:下载 Milvus 2.6.2 的 Docker Compose 文件

wget https://github.com/milvus-io/milvus/releases/download/v2.6.2/milvus-standalone-docker-compose.yml -O docker-compose.yml

如果没有wget,先下载一下。

brew upgrade
brew install wget

如果没有wget,也可以用 curl

curl -L https://github.com/milvus-io/milvus/releases/download/v2.6.2/milvus-standalone-docker-compose.yml -o docker-compose.yml

第三步:启动 Milvus

docker compose up -d

成功后会启动三个容器:

  • Milvus Standalone

  • MinIO(对象存储)

  • Etcd(元数据存储)

第四步:确认运行成功

docker ps

第五步:连接测试

在 Spring Boot 中使用 Milvus 向量数据库,需要借助 Milvus 的 Java SDK 来实现集成。

1. 添加依赖

pom.xml 中添加 Milvus Java SDK 依赖:


<dependency>
    <groupId>io.milvus</groupId>
    <artifactId>milvus-sdk-java</artifactId>
    <version>2.6.2</version> <!-- 请使用最新版本 -->
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.12.0</version>
</dependency>
2. 配置 Milvus 连接
milvus:
  host: localhost
  port: 19530   # Docker 默认端口
3.配置类

import io.milvus.client.MilvusServiceClient;
import io.milvus.param.ConnectParam;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MilvusConfig {

    @Value("${milvus.host}")
    private String host;

    @Value("${milvus.port}")
    private Integer port;

    @Bean
    public MilvusServiceClient milvusClient() {
        ConnectParam connectParam = ConnectParam.newBuilder()
                .withHost(host)
                .withPort(port)
                .build();
        return new MilvusServiceClient(connectParam);
    }
}
4.Milvus 测试接口
@Tag( name = "Milvus Test", description = "Milvus 测试接口")
@RestController
public class MilvusTestController {

    @Resource
    private MilvusServiceClient milvusClient;

    @Operation(summary = "测试 Milvus 连接")
    @GetMapping("/test/milvus")
    public String testMilvus() {
        try {
            // 测试是否能连接到 Milvus
            boolean connected = milvusClient != null;
            // 检查一个不存在的 Collection
            boolean has = milvusClient.hasCollection(
                    HasCollectionParam.newBuilder()
                            .withCollectionName("test_collection")
                            .build()
            ).getData();

            return "Milvus 连接成功!客户端可用: " + connected + ", Collection存在: " + has;
        } catch (Exception e) {
            return "Milvus 连接失败: " + e.getMessage();
        }
    }
}

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐