Docker, docker-compose, docker swarm, k8s 의 차이점
Docker-Compose 는 컨테이너를 관리하는 데 사용되며 컨테이너 집사와 약간 비슷합니다. Docker 에 수백 개의 컨테이너가 시동이 필요할 때 하나씩 시동하는 데 얼마나 걸릴지 상상해 보십시오. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마) Docker-Compose 를 사용하면 파일을 하나만 쓰고, 이 파일에서 시작할 컨테이너를 선언하고, 몇 가지 매개변수를 구성하고, 이 파일을 실행하면 됩니다. Docker 는 선언된 구성에 따라 모든 컨테이너를 시작합니다. 모든 컨테이너는 Docker-compose up 만 시작할 수 있지만 docker-compose 는 현재 호스트의 docker 만 관리할 수 있습니다. 즉, 다른 호스트의 docker 컨테이너를 시작할 수 없습니다.
Docker Swarm 은 여러 호스트에서 Docker 컨테이너를 관리하는 도구입니다. 컨테이너를 시작하고 컨테이너 상태를 모니터링하는 데 도움이 됩니다. 컨테이너 상태가 비정상인 경우 서비스를 제공하기 위해 새 컨테이너를 다시 시작하고 서비스 간의 로드 밸런싱을 제공하는 데 도움이 됩니다. 이는 Docker-Compose 에서는 할 수 없습니다.
Kubernetes 의 역할 포지셔닝은 Docker Swarm 과 동일합니다. 즉, 컨테이너 영역의 동일한 부분을 담당하고 있으며 호스트 간 컨테이너 관리 플랫폼입니다. 물론, 그들도 몇 가지 다른 특징을 가지고 있다. K8s 는 구글이 다년간의 운영 및 유지 보수 경험을 바탕으로 개발한 컨테이너 관리 플랫폼입니다. Docker Swarm 은 Docker corporation 이 개발했습니다.
이 두 가지가 동일하기 때문에, 우리는 선택의 문제에 직면해 있다. 우리는 어떤 기술을 배워야 합니까? 사실, 지난 2 년 동안 Kubernetes 는 많은 대기업들이 기본적으로 사용하는 컨테이너 관리 기술이 되었으며, Docker Swarm 은 Kubernetes 와의 경쟁에서 점점 동력을 잃고 있으며, 현재 컨테이너 관리 분야는 이미 Kubernetes 가 주도하고 있습니다. 그래서 저는 여러분들이 공부할 때, 이 기술이 업계의 많은 사람들이 사용하고 있는지 생각해 보라고 제안합니다.
Docker Swarm 이 Kubernetes 와의 경쟁에서 실패했지만, 이는 Docker 와 컨테이너 엔진으로서의 관계가 크지 않으며 전체 컨테이너 분야 기술의 초석이라는 점을 유의해야 합니다. 그가 없으면 쿠버넷은 아무것도 아니다.
요약
Docker 는 컨테이너 기술의 핵심이자 기초입니다. Docker Compose 는 Docker 기반 단일 호스트 컨테이너 정렬 툴인 반면 k8s 는 호스트 간 클러스터 구축 툴로 Docker Swarm 및 Kubernetes 만큼 기능이 풍부하지 않은 Dcoker 기반 호스트 간 컨테이너 관리 플랫폼입니다.