Skip to content

kyunghl/m2m-flightspecial

Repository files navigation

M2M Flight Service

Monolith 예제인 TravelBuddy 애플리케이션에서 Flight 부분을 분해하여 구현한 마이크로서비스 예제입니다.

Agenda - Day2

실행 가이드

데이터베이스 실행

  1. (optional) 컨테이너 볼륨 준비

    'db'에 컨테이너 볼륨을 사용하고자 한다면 (호스트의 폴더를 마운트하지 않고)

    export DB_VOLUME="db-data"
    docker volume create ${DB_VOLUME}
    
    # Check
    docker volume ls | egrep "DRIVER|${DB_VOLUME}"

    컨테이너 볼륨을 지우거나 교체하려면

    # replace
    export DB_VOLUME="db-data"
    docker volume rm ${DB_VOLUME}
    docker volume create ${DB_VOLUME}
  2. 데이터베이스 실행

    docker-compose up --build -d db
    
    # Check
    docker-compose ps
  3. DB 스키마 적용(혹은 데이터셋 포함)

    docker-compose run --rm db-init
  4. Clean-up (필요할 때만)

    docker-compose stop db
    docker-compose rm -f db
    
    # Check
    docker-compose ps -a

    volume (option)

    # 마운트한 호스트 폴더 정리
    rm -rf env/db/data
    
    # 컨테이너 볼륨 정리
    docker volume rm ${DB_VOLUME:-db-data}

SpringBoot 애플리케이션 실행

A. 로컬에서 gradle 활용

# 1. Package
./gradlew clean build

# 2. Run Application
./gradlew :interface:bootRun

B. docker-compose 활용 컨테이너 프로세스로 실행

# 1. (Optional) 환경변수
export APP_PORT=8081 # default: 8081
export DB_VOLUME="db-data" # 컨테이너 볼륨을 사용하는 경우

# 2. 컨테이너 이미지 빌드 및 실행
docker-compose build app
docker-compose up -d app

# 3. 컨테이너 로그 확인
docker-compose logs -t -f --tail=50 app

# 4. 정리
docker-compose rm app

Clean up

docker-compose down

# Remove dangling images
docker rmi $(docker images -f "dangling=true" -q)
# Remove unused docker volumes
docker volume prune

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published