운영체제 수준의 가상화를 사용하여 컨테이너 내 소프트웨어를 제공한다.
Linux에서 운영체제 수준의 가상화를 제공한다. 즉 Linux가 동작하는 것을 전제로 한다.
컨테이너 내 소프트웨어들은 동작에 필요한 라이브러리, 환경설정 파일들을 포함하며 다른 컨테이너들과 완전하게 독립되고 분리된다.
물리적 환경의 차이, 서버 구성의 차이를 무시할 수 있어 운영 서버와 개발 서버의 환경 차이로 인한 문제를 원천적으로 방지할 수 있다. 즉 도커 엔진만 설치되어 있으면 다른 물리 서버에서도 컨테이너는 동일하게 작동한다.
아래 그림은 도커 기반 실행환경과 VM 기반 실행환경의 차이점을 보여준다.

