在 Mac 上使用 Docker 安装 Milvus 2.6.2
在 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: localhostport: 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;@Beanpublic 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 {@Resourceprivate MilvusServiceClient milvusClient;@Operation(summary = "测试 Milvus 连接")@GetMapping("/test/milvus")public String testMilvus() {try {// 测试是否能连接到 Milvusboolean connected = milvusClient != null;// 检查一个不存在的 Collectionboolean has = milvusClient.hasCollection(HasCollectionParam.newBuilder().withCollectionName("test_collection").build()).getData();return "Milvus 连接成功!客户端可用: " + connected + ", Collection存在: " + has;} catch (Exception e) {return "Milvus 连接失败: " + e.getMessage();}}
}