Docker compose?
- 단일 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너의 묶음으로 관리할 수 있는 작업 환경을 제공하는
관리도구
이다.
- 즉, 하나의 서비스를 위해 여러 컨테이너들을 묶어 하나로 관리할 수 있도록 작업환경을 제공해주는 툴이다.
- yaml 을 통해 Docker compose를 세팅한다.
Docker compose를 사용하는 이유
- 하나의 어플리케이션을 동작시키기 위해 여러 개의 컨테이너들을 생성해야하는 경우, Compose가 없다면 각각의 컨테이너들을 생성해야한다. 이는 테스트 단계에서 각 컨테이너가 잘 동작하는지 확인하기가 번거롭다.
- Compose는 위의 문제점을 해결해주기 위해 여러 개의 컨테이너들을 하나의 서비스로 정리해 컨테이너 묶음으로 관리하게 도와준다.
- 도커 엔진의 run 명령어의 옵션을 그대로 사용이 가능하다.
- 각 컨테이너의 의존성, 네트워크, 볼륨 등을 함께 정의가 가능하다.
<aside>
💡 컨테이너의 수가 많아지거나 정의해야할 옵션이 많아질때, 또는 정의해야할 옵션이 많아진다면 도커 컴포즈를 사용하는 것이 좋다.
</aside>
Docker compose installation
공식 Docker compose document을 통해 각자에게 맞는 OS 설치 방법을 따라 설치하면 된다.
도커 컴포즈 yaml 파일 옵션
Compose yaml 파일 옵션은 크게 6가지가 있다.
- Version (선택)
- Service (필수)
- Network
- Volumes
- Config