Docker compose는 yaml 파일로 여러 개의 도커 컨테이너에 대한 정의를 작성하여 한 번에 작성한 컨테이너들을 작동시키고 관리할 수 있는 툴이다.
도커 컴포즈는 docker run
명령어를 여러 개 모아놓은 것과 같다.
네트워크와 볼륨까지 함께 만들 수 있다.
docker-compose를 사용하기 전이다.
도커 이미지에 docker run 명령어에 대입할 환경변수들을 지정해뒀고 (link 옵션을 사용하지 않았었음)
docker -e
옵션으로 엔트리포인트에 기입된 환경변수를 직접 넣어줬어야 했다.
docker run -e [][]
명령어를 사용할 때 위 사진의 것들을 복사해서 실행 시켜야 했었다.
각각의 컨테이너를 따로 실행해야하는 번거로움을 무릅써야한다.
동일한 네트워크에 위치하는지 통신이 잘 되는지 안 되는지 귀찮아지는 일이 많다.
파일명은 docker-compose.yml
으로 이미 정의된 파일명을 사용한다.
YAML 형식으로 작성된 Docker Compose 파일을 사용해 서비스와 관련 설정들을 정의한다.
app 특성상 db 연결이 되어있지 않으면 실행에 오류가 생긴다.
데이터베이스가 먼저 실행될 수 있도록 depends_on
를 사용하여 DB서비스가 실행되고 난 후에 실행하도록 설정한다.
docker-compose up -d
이 명령어 한 줄이면 컨테이너가 실행된다.
쉽게 정리된 글을 첨부한다
https://github.com/Meet-Coder-Study/posting-review/blob/master/byungwoo/2021-02-04-docker-compose.md