항상 그냥 그런가보다 하고 지나쳤던 부분, docker는 왜 VM과 다르게 동작하며 application의 부하가 없을까?
docker에서 container는 가상화된 공간을 생성하기 위하여, linux의 기능을 몇가지 사용한다. 프로세스의 리소스를 논리적으로 분리할 수 있는 name spcae, 시스템 자원을 제어할 수 있도록 하는 C그룹등을 사용하여 컨테이너가 실행된다.
컨테이너는 Host OS의 커널을 공유하며 프로세스 단위의 격리 환경을 만들기 때문에 application의 성능저하가 거의 없는 것이다.
VM은 Hypervisor를 통하여 각종 시스템 자원을 가상화하고 독립적으로 Guest OS를 생성하여 사용되기 때문에 상대적으로 컨테이너보다는 성능 손실이 일어난다.
그렇다고 한다.. To be continued..