
[공통점]
- 실제로는 하나의 컴퓨터를 사용하지만, 여러 개의 컴퓨터를 이용하는 것처럼 리소스를 격리한다.
- 컨테이너와 VM 모두 격리성을 제공하기 때문에 각 애플리케이션마다 다른 컴퓨터에서 실행되는 것처럼 각각의 IP, Port 등을 다르게 설정할 수 있다.
[차이점]
- Docker는 가상머신 만큼 견고한 격리성을 제공하지는 않는다.
- Docker는 리눅스 컨테이너를 이용한 기술로 OS 위에 다른 OS를 실행하는 것이 아니므로 가상머신보다 좋은 성능을 낼 수 있다. 새로운 컨터이너를 만드는데 걸리는 시간은 겨우 1-2초로 가상머신과 비교도 할 수 없이 빠르다.
- 애플리케이션에 대한 환경 격리성을 중심으로 하는 VM과는 다르게, Docker는 컨테이너 관점에서 개발자와 사용자 커뮤니티를 중심으로 혜택을 제공하는데 있다.