안녕하세요, Spring Boot를 사랑하는 개발자 여러분! 👋
Spring Boot에서 Docker 컨테이너를 더 효율적으로 관리하고 싶으신가요?
그렇다면 제가 만든 Docker Boot 라이브러리를 한번 살펴보세요!
Docker Boot는 Spring Boot 애플리케이션에서 Docker 컨테이너를 쉽고 직관적으로 제어할 수 있도록 설계된 라이브러리입니다.
Spring Boot Docker Compose보다 더 많은 제어와 유연한 설정이 필요하셨다면, 딱 맞는 도구가 될 거예요.
여러분의 관심과 지원이 큰 힘이 됩니다. GitHub에 스타를 눌러주시면 정말 감사하겠습니다! 🌟
Docker Boot란?
Docker Boot는 Spring Boot 애플리케이션과 Docker 컨테이너를 완벽하게 통합해주는 Spring Boot 라이브러리입니다.
Spring 애플리케이션에서 Docker 컨테이너의 시작, 종료, 설정 등을 완전히 제어할 수 있도록 도와줍니다.
특히 Spring Native 설정(YAML, Properties)과 이벤트 기반 관리 방식을 지원해서 더 유연한 컨테이너 관리가 가능합니다.
왜 Docker Boot를 써야 하나요?
Spring Boot Docker Compose도 훌륭하지만, Docker Boot는 더 세밀하고 강력한 제어를 제공합니다.
Spring Boot와 Docker의 완벽한 통합이 필요하거나, 컨테이너 라이프사이클을 더 유연하게 관리하고 싶다면 Docker Boot가 훨씬 좋은 선택이 될 거예요.
✨ Docker Boot가 제공하는 주요 장점
Spring과 완벽한 통합: Spring YAML/Properties 설정, Spring Profiles, 이벤트 시스템까지 모두 활용 가능
프로그래밍적 제어: Java 코드로 컨테이너를 동적으로 제어 가능
유연한 라이프사이클 관리: 개발 환경과 운영 환경에 맞춰 컨테이너의 동작 방식을 세밀하게 설정 가능
이벤트 기반 컨테이너 관리: Spring의 이벤트 시스템을 통해 컨테이너를 더 똑똑하게 관리
주요 기능 한눈에 보기
🔄 유연한 라이프사이클 제어
컨테이너의 시작/종료 동작을 상황에 맞게 조정할 수 있습니다.
• START_AND_STOP: 애플리케이션 시작 시 컨테이너를 실행하고, 종료 시 정리합니다.
• START_ONLY: 애플리케이션 시작 시 컨테이너를 실행하되, 종료 후에도 계속 유지합니다.
• NONE: 자동 관리 없이, 컨테이너를 수동으로 제어합니다.
docker:
containers:
redis:
lifecycle-mode: START_AND_STOP
📝 Spring Native 설정 지원
복잡한 도커 설정? 걱정 마세요!
Spring Boot의 익숙한 YAML/Properties 방식으로 컨테이너 설정을 관리할 수 있습니다.
docker:
containers:
postgres:
enabled: true
container-name: postgres-dev
image-name: postgres:14
ports:
5432: 5432
environment:
POSTGRES_DB: devdb
POSTGRES_USER: dev
POSTGRES_PASSWORD: devpass
🎯 이벤트 기반 컨테이너 관리
Spring의 이벤트 시스템과 통합되어 이벤트 기반으로 컨테이너를 제어할 수 있습니다.
@Service
public class DockerService {
private final ApplicationEventPublisher eventPublisher;
public void startContainer() {
eventPublisher.publishEvent(
new DockerContainerEvent(this, Action.START)
);
}
}
시작하기
Docker Boot를 사용해보는 방법은 간단합니다.
1️⃣ 의존성 추가
Maven 또는 Gradle에 다음 의존성을 추가하세요.
Maven
io.github.ddaakk docker-container-spring-boot-starter 0.2.0Gradle
implementation 'io.github.ddaakk:docker-container-spring-boot-starter:0.2.0'
2️⃣ 컨테이너 설정
Spring Boot의 application.yml에서 Docker 컨테이너를 설정하세요.
docker:
containers:
redis:
enabled: true
container-name: my-redis
image-name: redis:latest
lifecycle-mode: START_AND_STOP
ports:
6379: 6379
3️⃣ 애플리케이션 실행!
Spring Boot 애플리케이션을 실행하면 설정한 Docker 컨테이너가 자동으로 실행됩니다.
더 알아보기
• GitHub 저장소: 코드와 문서를 확인하세요.
• Maven Central: 라이브러리 배포 정보
함께 만들어가요!
Docker Boot는 오픈 소스 프로젝트로, 여러분의 기여를 환영합니다.
버그 제보, 기능 요청, 코드 기여 등 어떤 방식으로든 참여하실 수 있어요.
여러분의 의견을 기다립니다! 💬
Docker Boot가 여러분의 프로젝트에 어떤 도움이 되었는지 알려주세요.
여러분의 피드백과 제안이 Docker Boot를 더 나은 도구로 만드는데 큰 힘이 됩니다.
감사합니다! 😊