Table of contents
Open Table of contents
Dokcer Compose 란
Docker Compose는 여러 컨테이너를 가지는 애플리케이션을 통합적으로 Docker 이미지를 만들고, 만들어진 각각의 컨테이너를 시작 및 중지하는 등의 작업을 더 쉽게 수행할 수 있도록 도와주는 도구이다.
Docker Compose 특징
공식 문서를 살펴보면 네 가지 주요 역역을 강조하고 있다.
- 서비스들을 시작하고 중지하고 재빌드한다.
- 여기서 말하는 서비스는 컨테이너에서 돌아가는 애플리케이션을 의미한다. 단일 서비스(컨테이너)가 아닌 복수의 서비스(컨테이너)를 시작하고 중지하고 다시 빌드한다고 볼 수 있다.
- 실행 중인 서비스의 상태를 볼 수 있다.
- 로그 출력을 포함하여 실행 중인 모든 서비스의 상태를 쉽게 볼 수 있다.
- 실행 중인 서비스의 로그를 스트림 할 수 있다.
- 두 번째와 비슷한 특징이라고 생각할 수 있다. Docker Compose를 이용하면 로그를 가져오기 위해 컨테이너별로 명령을 수행할 필요가 없다. 실제로 원하는 경우 모든 다른 컨테이너의 로그를 한 번에 가져올 수도 있다.
- 하나의 서비스에 일회성 작업을 수행할 수 있다.
- 항상 모든 컨테이너를 묶어서 작업해야 할 필요는 없다. 경우에 따라서는 단일 컨테이너에 명령을 내리는 필요가 있을 것이다. Docker-compose에서 역시 단일 컨테이너에 접근하여 해당 컨테이너의 로그를 보거나 컨테이너를 시작 및 중지하거나, 이미지를 빌드할 수도 있다.
Docker Compose WorkFlow
- 서비스들 빌드하기
- 서비스를 사용하기 위해서 빌드를 해야 한다. Docker파일을 설정하고 docker-compose.yml파일에 정의하여 Docker Compose를 사용하여 서비스를 빌드하게 된다. 이 과정을 통해 Docker이미지를 생성하게 된다.
- 서비스들 시작하기
- 그런 다음 Docker Compose를 사용하여 서비스를 시작하게 된다. 한 개 이상의 컨테이너가 시작된다고 생각하면 된다. 그리고 다수의 컨테이너를 사용하는 애플리케이션 서비스를 이용할 수 있게 된다.
- 서비스들 정리하기
- 사용이 끝난 서비스를 해체하고 컨테이너를 중지하고, 원하는 경우 제거할 수 있다.
Docker Compose 와 Kubernetes 의 차이점
- 쿠버네티스는 쿠버네티스 클러스터 내에서 컨테이너를 생성하고 관리하는 컨테이너 관리 도구이다. 쿠버네티스는 yaml파일에 정의된 내용을 바탕으로 쿠버네티스 클러스터 내에서 쿠버네티스 오브젝트를 만들고 컨트롤러를 만든다.
- 도커 컴포즈도 마찬가지로 yaml파일에 정의된 내용을 바탕으로 Host컴퓨터 내에 컨테이너를 만든다.
출처
docker-compose 정의 https://fronquarry.tistory.com/40?category=1053272
docker-compose 와 kubernetes의 차이점 https://boying-blog.tistory.com/15