Jak masz wirtualk,i to każda wirtualka jest osobnym i niezależnym bytem. Każda z nich zawiera w sobie wszystko, co jest potrzebne do działania.
Plusem jest to, że są one niezależne, każda jest kompletna. Każda ma swoje niezależne pliki - cały core/jądro systemu, ustawienia, dyski itp.
Minusem jest to, że każda z nich ma zapotrzebowanie na CPU, RAM, tworzy wirtualny dysk itp. - także masz kilka osobnych systemów, ale dużo rzeczy się pokrywa, wszystkie systemu mają podobne elementy itp.
Za to w przypadku Dockera masz jeden system, który jest jakby współdzielony między kontenerami. Czyli - sam system (jądro, katalogi systemowe, partycje, RAM, CPU itp) jest odpalony raz, a poszczególne aplikacje w systemie (czyli kontenery) są jakby "nakładane" na system. Są one od siebie oddzielone, ale "pod spodem" mają wiele rzeczy wspólnych.
Jak się sypnie jedna wirtualka, to inne chodzą, ale dzieje się to kosztem tego, że każda VM potrzebuje dużo zasobów CPU/RAM/HDD.
Kontenery/Docker są o wiele mniej zasobożerne, ale za to jest ryzyko, że jak się uszkodzi system, na którym one stoją (i z którego biorą "wspólną część") to żaden kontener nie ruszy.
Do tego - w przypadku VM masz jakby goły serwer, na który musisz sobie sam poinstalować i skonfigurować usługi. Jak masz Dockera to go po prostu odpalasz, a aplikacja się odpala. I już w tym obrazie możesz mieć zaszyte różne ustawienia, detale konfiguracji i inne rzeczy, które w wypadku VM musiałbyś sobie sam ustawiać. Przykładowo - możesz pobrać Dockera jakieś aplikacji, odpalić go i praktyczne ta usługa działa od ręki. Albo idziesz w kierunku wirtualki - ściągasz sobie instalkę jakiejś apki, instalujesz ręcznie, potem grzebiesz w konfiguracji, dostrajasz i po godzinie możesz korzystać ;)
EDIT
Wymyśliłem właśnie fajną analogię:
- Docker: Jeden duży lokal, w którym masz kilka okienek z rożnymi typami potraw: pizza, chińskie, kebab itp. Wspólna kuchnia, jeden właściciel, wspólni kucharze, kelnerzy, jedna księgowa
- Wirtualka: kilka niezależnych knajp wynajmujących lokale obok siebie w centrum handlowym: osobni właściciele, osobne kuchnie i kucharze, osobna obsługa, niezależna księgowa dla każdego z lokali