1. Docker란?
- Docker는 리눅스 컨테이너 기술을 기반으로 하는 오픈 소스 가상화 플랫폼
2. Container(컨테이너) vs Virtual Machine(가상머신)
- Virtual Machine :
- 하드웨어 가상화
- 소프트웨어로 구현된 하드웨어
- 소프트웨어로 구현된 하드웨어 그 위에 OS를 설치하고, 그 위에 소프트웨어를 설치함으로써 무겁고 느린 단점
- 위 단점으로 반가상화 기술방식의 Xen이 등장하였지만, 성능문제는 해결되지 못함
- 예 : VMWare, VirtualBox 등
- Container:
- 리눅스에서 하드웨어 가상화와 OS설치를 하지 않고 단순히 프로세스를 단독으로 격리시키는 기술 컨테이너라는 기술이 등장
- 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하므로 실제 그냥 앱을 실행하는 경우와 거의 차이가 보이지 않을 정도로 Virtual Machine 에 비해 성능문제가 해결됨
- 리눅스 OS에서 지원하는 기술로 LXC(Linux Container)라는 시스템 레벨의 컨테이너 기술을 제공
- 초기 Docker는 LXC 기술을 채용했으나, 0.9버전 이후에는 libcontainer라는 자체 컨테이너 사용