1. docker compose 파일
- compose 파일은 도커 애플리케이션의 서비스, 네트워크, 볼륨 등의 설정을 yaml 형식으로 작성하는 파일이다.
2. docker compose 구성 요소

- 공식 사이트에서 소개하는 예제 파일은 위의 이미지와 같다.
- 큰 틀에서의 구성 요소
- version (deprecated 되어 더이상 설정하지 않아도 된다)
- services
- network
- volume
- config
- secret
services

- services는 여러 컨테이너를 정의하는데 사용된다.
- 예를 들어 위와 같이 파일을 작성했다면, 'frontend'와 'backend'는 각 컨테이너를 정의하게 되며 각 컨테이너의 이름이 된다.
container를 설정할 때 사용되는 키워드
- image : 컨테이너의 이미지를 정의한다.
- build : 위 'image'를 활용하는 방식이 아닌 Dockerfile의 경로를 지정해 빌드하여 사용하는 방법
- dockerfile : 빌드할 dockerfile의 이름이 'Dockerfile'이 아닌 경우 이름을 지정하기 위해 사용
- ports : 호스트와 컨테이너의 포트 바인딩 설정에 사용
- volumes : 호스트의 지정된 경로로 컨테이너의 볼륨을 마운트 하도록 설정
- container_name : 컨테이너 이름을 설정
- command : 컨테이너가 실행된 후 컨테이너의 쉘에서 실행시킬 쉘 명령어 설정
- environment : 환경변수를 설정
- env_file : 'environment'와 동일한 기능을 수행하지만 이 키워드를 사용하면 env 파일을 이용해서 적용 가능
- depends_on : 다른 컨테이너와 의존관계를 설정
- restart : 컨테이너의 재시작과 관련하여 설정
3. docker compose 파일 실행
docker-compose up
- 작성된 docker-compose.yml 파일을 실행하기 위해서는 위와 같은 커맨드를 사용
docker-compose -f docker-compose-custom.yml up
- -f 옵션 : docker-compose는 기본적으로 'docker-compose.yml' 또는 'docker-compose.yaml'의 이름을 사용한다. 만약 다른 이름으로 파일을 관리하고 사용한다면 -f 옵션 사용
docker-compose up -d
- -d 옵션 : 백그라운드에서 docker-compose를 실행하기 위해 사용