'컨테이너'란 다른 프로세스와 격린된 상태로 OS에서 소프트웨어를 실행하는 기술이다. 여기서 '격리'가 중요하다. 컨테이너에서 실행되는 소프트웨어는 하나의 프로세스로 가동하지만, 컨테이너 내의 소프트웨어에서 보면 독립된 OS환경을 점유하고 있는 것처럼 보인다.
(실제로 호스트 OS에서 보는 컨테이너 프로세스 ID와 컨테이너 안에서 보는 자신의 프로세스 ID는 다르게 보인다.)
OS와 커널을 공유하고, 프로세스를 분리하는 구조다.
하이퍼바이저(물리적 기기에 가상 머신을 만들어 실행제어를 담당하는 소프트웨어를 지칭)를 이용해 CPU와 메모리, 저장소 등의 하드웨어 자원을 에뮬레이트해 여러 OS를 하나의 하나의 하드웨어에서 실행하는 기술이다. 가상 머신에서 동작하는 OS를 게스트 OS라고 한다. 서버 가상화는 게스트 OS별로 커널을 점유하는 구조다.