랩: Docker Compose 퀵스타트

랩: Docker Compose 퀵스타트

Docker Compose로 멀티 컨테이너 앱을 정의하고 실행해보는 실습 랩이에요. 빈 compose.yaml 에서 출발해 헬스 체크, watch 모드 라이브 개발, 데이터 영속화, 모듈식 Compose 파일 구성을 차근차근 추가해볼게요.

출처: 문서

본문

Docker Compose를 사용해 Python Flask와 Redis로 만든 히트 카운터 앱을 빌드해볼게요. 빈 compose.yaml 에서 시작해 각 단계마다 프로덕션 수준의 기능을 점진적으로 추가해요.

랩 시작하기

랩스페이스를 시작해볼게요:

$ docker compose -p labspace -f oci://dockersamples/labspace-compose-quickstart up -d

브라우저에서 http://localhost:3030 을 열어주세요.

실습을 마치면 랩스페이스를 정리해요:

$ docker compose -p labspace down

배우게 될 내용

이 Labspace를 마치면 다음과 같은 것들을 완료하게 돼요:

  • compose.yaml 파일에서 멀티 서비스 어플리케이션을 정의하고 Compose 명령으로 관리하기
  • 헬스 체크와 depends_on 조건을 사용해 서비스 시작 순서 제어하기
  • Compose watch 모드를 사용해 수동 재빌드 없이 코드를 반복 개발하기
  • 명명된 볼륨(named volume)으로 컨테이너 재시작 후에도 데이터 유지하기
  • include 지시문으로 여러 파일에 걸쳐 스택을 모듈화하기
  • config , logs , exec 를 사용해 실행 중인 스택을 검사하고 디버깅하기

모듈

# 모듈 설명
1 Introduction 스타터 앱 둘러보기 및 환경 확인
2 Defining Services 첫 compose.yaml 작성 및 Flask·Redis 스택 실행
3 Health Checks & Startup Order Redis healthcheck와 depends_on 추가로 경쟁 조건 제거
4 Live Development with Watch Mode 코드 변경을 자동 동기화하도록 watch 모드 구성
5 Persistence & Debugging 명명된 볼륨 추가로 Redis 데이터를 docker compose down 후에도 유지
6 Using Multiple Compose Files Redis를 infra.yaml 로 분리하고 include 로 파일 합성
7 Additional Commands config , logs -f , exec 로 실행 중인 스택 검사
8 Recap 만든 것 검토 및 다음 단계 탐색

더 알아보기 (Learn more)

  • Docker Compose 개요
  • Compose watch
  • Compose 파일 참조