본문 바로가기

개발 이야기/실무 Recipe

여러 개의 docker-compose 파일 사용하기 | multiple docker-compose files

source: docker

 

db와 엘라스틱서치 컨테이너를 같은 docker-compose 파일에서 띄우면 둘 중 하나만 다운시키고 싶을 때 *문제가 될 수 있다. docker-compose up <service-name> 으로 컨테이너를 따로 띄울 수는 있지만 docker-compose down은 특정 컨테이너만 다운시킬 수 없기 때문이다. 그러므로 docker-compose 파일을 따로 분리해서 관리한다.

*엘라스틱서치의 인덱스가 날아가거나, dump 떠놓은 로컬 DB가 날아간다거나. 큰 문제는 아니지만 다시 작업하기 귀찮다.

 

docker-compose에서 default로 읽을 수 있는 파일 이름은 docker-compose.yml 과 docker-compose.override.yml 이다. 다른 이름의 docker-compose 파일을 사용하려면 -f 플래그를 사용한다.

 

예를 들어 docker-compose.elastic.yml 이라는 docker-compose file을 만들었다면 아래와 같은 명령어들로 컨테이너를 up, down할 수 있다.

 

up

docker-compose -f docker-compose.elastic.yml up -d

 

down

docker-compose -f docker-compose.elastic.yml down -v

up에서 -d 옵션은 detach, 백그라운드에서 실행하겠다는 의미이고 down에서 -v 는 볼륨까지 제거하겠다는 의미이다.

 

 

 


 

references