@) 참고
- [10분 테코톡] ☂️ 검프의 Docker #이론편
- 널널한 개발자 - 20분 만에 전공자처럼 도커, 가상화 이해하기!
도커란?
컨테이너 기반 가상화 도구
가상화
- 가상화(Virtualization)는 컴퓨터에서 컴퓨터 리소스의 추상화를 일컫는 광범위한 용어
가상화 예시
하이퍼바이저 - a.k.a Virtual Machine Manager (VMM)
- 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼

- 서버 가상화
- 가상 머신이라는 단위로 구별한다.
- 장점 - 완변한 운영체제를 지원할 수 있다
- 단점 - 무겁고 느리다
- e.g.) Virtual Box, VMware


컨테이너 기반의 가상화
- 프로세스 단위의 격리 환경, Host와의 격리를 통해 독립된 개발 환경을 보장

- linux 의 chroot, 네임스페이스, cgroup을 사용한다.
- 장점 - 이미지의 용량이 줄어듬, 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행 파일만 존재
하이퍼 바이저 vs 컨테이너 기반 가상화

도커엔진의 역할
- 컨테이너 관리, 이미지 관리, 볼륨 관리, 네트워크 관리

클러스터란?
- 각기 다른 서버를 하나로 묶어 하나의 시스템 같이 동작하게 하는 것
- 도입 시 고려해야 될 사항
- 새로운 서버나 컨테이너가 추가될때 발견하는 작업은 어떻게?
- 스케줄러, 로드밸런서, 고가용성 보장을 어떻게?
- e.g. 도커 스웜, 쿠버네티스 - 컨테이너 오케스트레이션
도커 스웜?
- MSA 컨테이너를 다루기 위한 클러스터링 기능에 초점