Es un sistema que permite dividir en capas.
De manera que sobre la capa del SO se crea una capa, como por ejemplo apache.
A partir de ahí, la capa del apache puede seguir accediendo al sistema.
A partir de ahí, por ejemplo, se podría crear una capa, con webs. Paralelamente a la del apache, se podría crear otra capa con un tomcat, por ejemplo, y así sucesivamente.
Las capas que están arriba pueden seguir accediendo al sistema operativo pero sólo a la parte que afecta a la primera capa creada es la del apache.
Se pueden sobreponer tantas capas como se quiera.
Se ve mejor en este gráfico:
http://windowsitpro.com/site-files/windowsitpro.com/files/uploads/2015/01/docker%20overview.jpg
dónde pone Binary/libs, equivaldría a las capas del apache y del tomcat, por ejemplo.