Kontenery (Docker) wirtualizują na poziomie systemu operacyjnego: współdzielą kernel hosta, startują szybko i są lekkie. Maszyny wirtualne wirtualizują sprzęt: każda VM ma własny system i kernel, jest cięższa i startuje wolniej, ale zapewnia mocniejszą izolację.