Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

DABOM Compose Data

DABOM 프로젝트의 인프라 서비스(MySQL, Redis, Kafka)를 Docker Compose로 관리하는 저장소.

서비스 구성

서비스 이미지 컨테이너명 기본 포트 용도
MySQL mysql:8.0 dabom-mysql 3306 관계형 데이터베이스
Redis redis:7-alpine dabom-redis 6379 캐시/세션 저장소
Kafka apache/kafka:3.8.1 dabom-kafka 9092 메시지 브로커 (KRaft 모드)

Kafka는 Zookeeper 없이 KRaft 모드로 동작한다.

사전 준비

  • Docker 및 Docker Compose 설치

환경 변수 설정

.env.example을 복사하여 .env 파일을 생성한다.

cp .env.example .env
변수 기본값 설명
BIND_ADDRESS 0.0.0.0 바인드 주소 (127.0.0.1로 변경 시 로컬만 허용)
MYSQL_PORT 3306 MySQL 포트
MYSQL_ROOT_PASSWORD root MySQL root 비밀번호
MYSQL_DATABASE dabom 기본 생성 데이터베이스
MYSQL_USER dabom MySQL 사용자
MYSQL_PASSWORD dabom MySQL 사용자 비밀번호
REDIS_PORT 6379 Redis 포트
REDIS_PASSWORD redis Redis 비밀번호
KAFKA_PORT 9092 Kafka 포트
KAFKA_CLUSTER_ID dabom-kafka-cluster-001 Kafka 클러스터 ID
KAFKA_ADVERTISED_HOST localhost Kafka advertised 호스트

실행 방법

전체 서비스 실행

docker compose up -d

원하는 서비스만 선택 실행

서비스 이름을 지정하면 해당 서비스만 실행된다.

# MySQL만
docker compose up -d mysql

# Redis만
docker compose up -d redis

# Kafka만
docker compose up -d kafka

# MySQL + Redis (Kafka 제외)
docker compose up -d mysql redis

# MySQL + Kafka (Redis 제외)
docker compose up -d mysql kafka

종료

# 전체 종료
docker compose down

# 특정 서비스만 종료
docker compose stop mysql
docker compose stop redis
docker compose stop kafka

볼륨 포함 완전 삭제

# 전체 종료 + 볼륨 삭제 (데이터 초기화)
docker compose down -v

상태 확인

# 실행 중인 서비스 확인
docker compose ps

# 로그 확인
docker compose logs -f          # 전체
docker compose logs -f mysql    # MySQL만
docker compose logs -f redis    # Redis만
docker compose logs -f kafka    # Kafka만

접속 정보

MySQL

mysql -h 127.0.0.1 -P 3306 -u dabom -pdabom dabom

Redis

redis-cli -h 127.0.0.1 -p 6379 -a redis

Kafka

# 토픽 목록 조회
docker exec dabom-kafka /opt/kafka/bin/kafka-topics.sh \
  --bootstrap-server localhost:9092 --list

# 토픽 생성
docker exec dabom-kafka /opt/kafka/bin/kafka-topics.sh \
  --bootstrap-server localhost:9092 --create --topic my-topic

# 메시지 발행
docker exec -it dabom-kafka /opt/kafka/bin/kafka-console-producer.sh \
  --bootstrap-server localhost:9092 --topic my-topic

# 메시지 소비
docker exec -it dabom-kafka /opt/kafka/bin/kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 --topic my-topic --from-beginning

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors