Mientras que la virtualización convencional se apoya en el llamado hipervisor (hypervisor), también llamado monitor de máquina virtual, que distribuye de forma proporcional el hardware del sistema de alojamiento entre los sistemas operativos invitados, la virtualización mediante contenedores, por el contrario, no inicia ningún sistema operativo adicional. En su lugar, el sistema operativo en común forma ejemplares aislados de sí mismo, es decir, contenedores virtuales que crean un entorno de tiempo completo para las aplicaciones.
Un contenedor de software, en su concepción más básica, puede considerarse como aplicación para el servidor. Para poder instalar una aplicación, el contenedor se carga en el ordenador en un formato portable o imagen (Image) que incluye todos los datos necesarios para su funcionamiento y, en el ordenador, se inicia en un entorno virtual. Prácticamente todos los sistemas operativos soportan la implementación de contenedores de aplicaciones: en Windows se utiliza el software Virtuozzo creado por Parallels, FreeBSD tiene el entorno de virtualización Jails y Linux soporta contenedores en la forma de OpenVZ y LXC (LinuX Containers). Para la gran mayoría de usuarios, sin embargo, no es sino a través de plataformas como Docker o rkt como la virtualización de sistemas operativos comienza a ser factible, ya que añaden a esta tecnología algunas funciones que facilitan el uso de estos contenedores.