Docker Compose

민선규·2023년 11월 13일

기타

목록 보기
8/16
post-thumbnail

1. Docker 개념 정리
2. Docker 명령어
3. Docker 통신하기
4. Dockerfile 작성하기
6. Docker 이미지 생성 및 저장하기

Docker Compose

Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구이다.

이 전까지는 하나의 컨테이너를 다루는 방법에 대해서 정리를 했는데 실제 서비스에서는 여러 컨테이너가 서로 상호작용을 하는 경우가 대부분이다. 이 때 하나하나 컨테이너를 생성하고 실행하는 것이 아닌 다중 컨테이너를 정의하고 실행을 지원해주는 것이 Docker Compose이다.

Compose 파일은 yaml 형식으로 작성하는 파일이다.

Docker Compose 구조

Docker Compose를 작성할 때 자주 사용되는 구조이다.

  • services : 관리하고 싶은 서비스 목록을 구성할 수 있다.
  • network : 여러 서비스에서 재사용할 수 있는 명명된 네트워크를 구성할 수 있다.
  • volume : 여러 서비스에서 재사용할 수 있는 명명된 볼륨을 구성할 수 있다.

Services Level 구조

Docker Compose 구조 중 Servies 레벨에서 자주 사용되는 구조를 정리해보았다.

  • image : 컨테이너 이미지를 정의
  • build : 위 'image'를 활용하는 방식이 아닌 dockerfile의 경로를 지정해 빌드
  • dockerfile : 빌드할 dockerfile의 이름이 'dockerfile'이 아닌 경우 명시적으로 지정
  • ports : 호스트와 컨테이너의 포트 바인딩 설정
  • volumes : 호스트의 지정된 경로로 컨테이너 볼륨을 마운트하도록 설정
  • container_name : 컨테이너 이름을 설정
  • command : 컨테이너 실행 후 컨테이너의 쉘에서 실행시킬 명령어 설정
  • environment : 환경변수 설정
  • depends_on : 다른 컨테이너와의 의존관계를 설정
  • restart : 컨테이너의 재시작과 관련하여 설정

Docker Compose 실행

작성된 Docker Compose 파일을 실행하려면 docker-compose up 명령어를 사용한다.

추가 옵션

  • f : docker-compose는 기본적으로 파일 이름이 'docker-compose.yml' 또는 'docker-compose.yaml' 이름을 사용하는데 이 밖에 이름을 사용할 때 명시적으로 지정
  • d : 백그라운드에서 docker-compose를 실행하기 위해 사용

참고 문서 및 링크

0개의 댓글