DCD는 홈랩 프로젝트 관리 플랫폼입니다. 사용자는 CLI를 통해 Docker 컨테이너를 쉽게 생성, 배포, 모니터링하고 관리할 수 있습니다.
- 다양한 프레임워크 지원 - Spring Boot, Nest.js 및 MySQL, MariaDB, Redis, H2 등 다양한 타입 지원
- 원클릭 배포 - 간단한 설정으로 애플리케이션을 Docker 컨테이너로 자동 배포
- 이미지 빌드 및 푸시 - 소스 코드로부터 자동으로 Docker 이미지 생성 및 레지스트리 업로드
- 컨테이너 라이프사이클 관리 - 애플리케이션 시작, 중지, 재시작, 삭제 등을 한 곳에서 관리
- 저장소(Volume) 관리 - 컨테이너 데이터 영속성을 위한 볼륨 생성 및 관리
- 환경 변수 설정 - 애플리케이션별 환경 변수를 안전하게 설정 및 관리
- 환경 설정 스크립트 - 런타임에 환경 변수 및 설정 업데이트 가능
- 워크스페이스 분리 - 프로젝트별 독립적인 워크스페이스 생성 및 관리
- 안전한 인증 - JWT 토큰 기반 보안 인증
- 실시간 로그 스트리밍 - WebSocket을 통한 애플리케이션 로그 실시간 확인
- 컨테이너 상태 모니터링 - 실행 중인 컨테이너의 상태 조회
- 팀 멤버가 새로운 Spring Boot 애플리케이션 디플로이 요청
- 소스 코드 설정 → 자동으로 Docker 이미지 생성
- 이미지를 Docker 레지스트리에 푸시
- 컨테이너 시작 및 WebSocket을 통해 배포 로그 실시간 확인
- 배포 완료 후 환경 변수 옵션으로 설정 변경
- 데이터베이스 또는 파일 저장이 필요한 Django 애플리케이션 생성
- 저장소(Volume) 생성하여 애플리케이션에 마운트
- 저장된 데이터는 컨테이너 재시작 후에도 유지
- 개발 워크스페이스와 운영 워크스페이스 생성
- 각 워크스페이스마다 독립적인 애플리케이션 및 환경변수 관리
- 환경별로 다른 설정(DB URL, API KEY 등) 안전하게 관리
- Docker 및 Docker Compose
- JVM 11 이상
# 1. 인프라 시작 (MariaDB, Redis)
docker network create dcd
docker-compose up -d
# 2. 애플리케이션 빌드 및 실행
./gradlew bootRun기본 포트: 8081
- Spring Boot - Java/Kotlin 기반 엔터프라이즈 애플리케이션
- Nest.js - Node.js 기반 현대적인 웹 프레임워크
- MySQL - 관계형 데이터베이스
- MariaDB - MySQL 호환 오픈소스 데이터베이스
- H2 - 임베디드 Java 데이터베이스
- Redis - 인메모리 데이터 저장소