在 Mac 上使用 Docker 安装 Milvus 2.6.2

在 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.配置类
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();
        }
    }
}
相关推荐
会飞的小蛮猪1 小时前
K8s-1.29.2二进制安装-第二章(K8s及ETCD下载及安装)
云原生·容器·kubernetes·etcd
古城小栈8 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
会飞的小蛮猪9 小时前
K8s-1.29.2二进制安装-第一章
云原生·容器·kubernetes
专家大圣13 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
Haooog13 小时前
Docker面试题(不定时更新)
java·docker·面试
树下水月14 小时前
docker 启动后 如何通过对应的进程 找docker-compose.yaml 编排文件
运维·docker·容器
凯子坚持 c14 小时前
Docker 网络管理深度解析与实践指南
运维·docker·容器
kevin_水滴石穿14 小时前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器
人生匆匆15 小时前
部署使用rathole内网穿透
linux·运维·docker
LILR_15 小时前
简单学docker
运维·docker·容器