Zowel virtuele machines (VM) als containers maken gebruik van virtualisatie om geïsoleerde omgevingen te creëren voor het draaien van applicaties. Het belangrijkste verschil zit hem in de granulariteit van de virtualisatie die ze bieden: VM's virtualiseren op het niveau van het besturingssysteem (OS)/machine, terwijl containers op het niveau van de software worden gevirtualiseerd.