Dal momento che tutte le distribuzioni Linux eseguono lo stesso kernel Linux (sì, è un po' semplificato) e differiscono solo per il software userland, è abbastanza facile simulare un diverso ambiente di distribuzione - semplicemente installando quel software userland e fingendo che sia un'altra distribuzione. Nello specifico, l'installazione del contenitore CentOS all'interno del sistema operativo Ubuntu significherà che otterrai lo spazio utente da CentOS, pur continuando a eseguire lo stesso kernel, nemmeno un'altra istanza del kernel.
Così leggero la virtualizzazione è come avere compartimenti isolati all'interno dello stesso sistema operativo. Al contrario, la vera virtualizzazione sta avendo un altro sistema operativo completo all'interno del sistema operativo host. Ecco perché docker non può eseguire FreeBSD o Windows all'interno di Linux.
Se fosse più semplice, puoi pensare che docker sia un ambiente chroot molto sofisticato e avanzato.