Docker Compose

Docker Compose

모델 서비스나 벡터 스토어를 Docker Compose로 띄워 놓고, Spring AI 애플리케이션이 그 컨테이너에 자동으로 연결되게 하고 싶다면? Spring AI가 제공하는 Spring Boot 자동 구성(auto-configuration)을 쓰면 됩니다. 컨테이너 이름만 일치하면 연결 정보를 알아서 구성해 줘요.

출처: 공식문서

시작하기

연결을 활성화하려면 프로젝트의 Maven pom.xml에 아래 의존성을 추가합니다.

<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-spring-boot-docker-compose</artifactId>
</dependency>

Gradle build.gradle을 쓴다면 이렇게 하면 돼요.

dependencies {
    implementation 'org.springframework.ai:spring-ai-spring-boot-docker-compose'
}

TIP: 빌드 파일에 Spring AI BOM을 추가하는 방법은 Dependency Management 섹션을 참고하세요.

Service Connections

spring-ai-spring-boot-docker-compose 모듈이 제공하는 서비스 연결 팩토리는 다음과 같습니다. 각 항목은 컨테이너 이름으로 매칭돼요.

Connection Details 매칭 조건
AwsOpenSearchConnectionDetails 이름이 localstack/localstack인 컨테이너
ChromaConnectionDetails 이름이 chromadb/chroma, ghcr.io/chroma-core/chroma인 컨테이너
MilvusServiceClientConnectionDetails 이름이 milvusdb/milvus인 컨테이너
OllamaConnectionDetails 이름이 ollama/ollama인 컨테이너
OpenSearchConnectionDetails 이름이 opensearchproject/opensearch인 컨테이너
QdrantConnectionDetails 이름이 qdrant/qdrant인 컨테이너
TypesenseConnectionDetails 이름이 typesense/typesense인 컨테이너
WeaviateConnectionDetails 이름이 semitechnologies/weaviate, cr.weaviate.io/semitechnologies/weaviate인 컨테이너
McpSseClientConnectionDetails 이름이 docker/mcp-gateway인 컨테이너

이 밖에도 spring boot 모듈 spring-boot-docker-compose가 더 많은 서비스 연결을 제공합니다. 전체 목록은 Docker Compose Support 문서 페이지를 참고하세요.

더 알아보기