Docker
Docker란?
컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼
→ 독립된 환경을 만들어 하드웨어를 효율적으로 사용하는 기술
가상화와 컨테이너

가상화
- 하나의 하드웨어를 여러 개의 가상머신으로 분할해 효율적으로 사용할 수 있는 기술
- 분할된 가상머신들은 각각 독립적인 환경으로 구동
- 가상머신으로 분할된 각각의 환경을 Guest OS라고 함
- Guset OS들은 서로 간섭하지 않고 완전히 분리된 환경에서 구동됨
- 가상머신으로 하는 작업들은 반드시 하이퍼바이저를 거쳐야 해서 성능 저하가 필연적
- 가상 머신 배포시에 만들어지는 이미지의 크기도 매우 큼
- 해당 환경 구동 시 필요한 파일들을 모두 가지고 있어서
컨테이너
- 가상의 OS를 만드는 것이 아니라 베이스 환경의 OS를 공유하면서 필요한 프로세스만 격리
- 운영체제가 아닌 프로세스
- 하이퍼바이저를 거칠 필요가 없어서 실행 속도가 빠름
Docker image, Docker Container