在 Mac 上使用 Docker 安装 Milvus 2.6.2
前提条件
-
已安装 Docker Desktop for Mac
-
Docker 已启动,并分配足够资源(建议):
-
CPU ≥ 4 核
-
内存 ≥ 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.配置类
java
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 测试接口
java
@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();
}
}
}

