Dado que todas las distribuciones de Linux ejecutan el mismo kernel de Linux (sí, es un poco simplificado) y difieren solo en el software de la zona del usuario, es bastante fácil simular un entorno de distribución diferente, simplemente instalando ese software de la zona del usuario y fingiendo que es otra distribución. Siendo específicos, instalar el contenedor CentOS dentro del sistema operativo Ubuntu significará que obtendrá el espacio de usuario de CentOS, mientras aún ejecuta el mismo kernel, ni siquiera otra instancia del kernel.
Tan ligero la virtualización es como tener compartimentos aislados dentro del mismo sistema operativo. Por el contrario, la virtualización real es tener otro sistema operativo completo dentro del sistema operativo host. Es por eso que Docker no puede ejecutar FreeBSD o Windows dentro de Linux.
Si eso fuera más fácil, puede pensar que Docker es una especie de entorno chroot muy sofisticado y avanzado.