2025-08-05 04:38
Status:
Tags: 도커
도커 컴포즈
- 여러개의 도커 컨테이너를 하나의 서비스로 묶어서 관리 가능하게 도와주는 툴
- 도커 명령어 는 매번 실행할 때마다 쳐야하고 다른 컨테이너와의 조합이 어려운 문제 해결
- 기본적으로 도커 명령어 를 Dockerfile 처럼 파일화 하는 것이 핵심 기능
- docker-compose.yml 혹은 compose.yml 파일에 선언 (YAML 형식으로 작성)
- Dockerfile로 작성해 이미지 빌드 정의, 이를 활용해서 명령어를 컴포즈 파일로 저장해서 실행
- https://www.composerize.com/ (CLI → compose.yml)
- https://www.decomposerize.com/ (compose.yml → CLI)
명령어
# docker-compose.yml 이 있는 곳에서 실행
docker compose up -d # 백그라운드 실행
docker compose ps # 컴포즈로 실행한 컨테이너 확인
docker compose down # 종료 삭제
주요 컴포넌트
컴포넌트 | 설명 |
---|---|
서비스(Services) | 각 컨테이너를 나타내며, 이미지·빌드 컨텍스트·포트·환경변수·볼륨·종속관계 등을 정의[^1]. |
네트워크(Networks) | 프로젝트별 기본 네트워크를 생성하여 컨테이너 간 호스트명 기반 통신 지원[^1]. |
볼륨(Volumes) | 데이터 영속화를 위한 스토리지 볼륨을 생성·마운트[^1]. |
프로필(Profiles) | 서비스 그룹을 묶어 특정 환경(dev·prod)별 활성화 제어[^2]. |
조건·헬스체크(depends_on, healthcheck) | 서비스 시작 순서 및 준비 상태 조건 지정[^2]. |