본문 바로가기

기술

Docker vs Docker Compose vs Kubernetes

이 글은 위 도커, 도커 컴포즈, 쿠버네티스의 차이점을 설명한 글이다.  StackOverFlow의 답변을 번역했다.

Docker

애플리케이션을 컨테이너화 할 수 있는 컨테이너 기술이다. 도커는 다음 기술들을 사용하는 데 있어 필수 요소이다.

Docker Compose

여러 개의 도커 컨테이너를 설정하고 실행할 수 있게 해준다. 특히 컨테이너를 하나씩 ``docker run ...`` 명령어로 실행하고 싶지 않을 때 한 번에 동시에 실행할 수 있게 도와준다. 도커 컴포즈는 컨테이너들을 같은 호스트에서 실행할 때 사용된다.

Docker Swarm

도커 스웜은 여러 호스트에서 컨테이너들을 실행하고 연결할 수 있게 해 준다. 도커 스웜은 컨테이너 클러스터 관리와 오케스트레이션 도구이다. 이는 여러 호스트에서 돌아가는 컨테이너들을 관리하고, 스케일링을 하거나, 고장이 있을 때 자동으로 새로운 컨테이너를 실행시키거나, 컨테이너 간의 네트워킹을 지원하는 등의 일을 한다.

도커 스웜은 도커의 제품이다. 즉, 도커 엔진을 기반으로 하는 네이티브 도커 오케스트레이션 도구이다.

Kubernetes

구글에서 개발한 컨테이너 오케스트레이션 도구이다. 쿠버네티스의 목표는 도커 스웜과 비슷하다.