Docker Compose
Docker Compose
Docker Compose
여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성하여 관리할 수 있게 도와주는 툴
-> 여러 개의 컨테이너로 이루어진 복잡한 애플리케이션을 관리하는데 용이하다.
-> 복잡한 명령어로 실행시키던 것을 간소화 시킬 수 있다.
Docker Compose 명령어
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
compose.yml에서 정의한 컨테이너 실행
docker compose up -d
compose.yml에서 정의한 컨테이너 조회
docker compose ps -a
로그 조회
docker compose logs
컨테이너 실행 시 이미지 재빌드
docker compose up -d --build
이미지 다운 및 업데이트
docker compose pull
컨테이너 종료
docker compose down
- docker compose up은 이미지가 없을 때만 빌드하고, –build 옵션을 붙이면 이미지의 존재 여부와 상관 없이 빌드를 해서 컨테이너를 실행시킨다.
- docker compose pull의 경우 Dockerhub이나 ECR(Elastic Containerr Registry)에서 새로운 이미지를 받아올 때 사용한다.
compose.yml
Dockerfile과 같은 디렉토리에 생성하여 위치 시킨다.
하늘색 박스 : 서비스 이름 (원하는 이름으로 설정)
파란색 박스 : 컨테이너 이름 (원하는 이름으로 설정)
초록색 박스 : Dockerfile의 경로를 작성한 후 실행시켜 이미지 사용
연두색 박스 : Dockerhub의 이미지 사용
빨간색 박스 : Host 컴퓨터의 포트와 컨테이너의 포트를 매핑 (필수 X)
연보라 박스 : Docker Volume 설정
보라색 박스 : depend_on의 경우 특정 서비스들을 의존하기에, 특정 서비스의 condition이 healthy(정상 작동 상태) 해야 실행
보라색 박스 : healthcheck의 경우 서비스가 잘 작동하는지 test를 하여 확인 (각 서비스의 healthcheck 명령어 존재, interval은 healthcheck test 간격, retries는 최대 시도 횟수)
This post is licensed under CC BY 4.0 by the author.
