Tanto las máquinas virtuales (VM, Virtual Machines) como los contenedores usan la virtualización para crear entornos aislados para ejecutar aplicaciones. La diferencia clave radica en la granularidad de la virtualización que proporcionan: las VM se virtualizan al nivel de sistema operativo (OS, Operative System)/máquina, mientras que los contenedores se virtualizan al nivel de software.