랩: 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 파일 참조