En las versiones anteriores de Docker para Windows, recuerdo que decía explícitamente que usaba una VM de Linux para el kernel.
Pero desde la nueva versión estable (creo que lanzada en julio de 2016), dice
Docker for Windows is a native Windows application with a native user interface and auto-update capability, deeply integrated with Windows native virtualization, Hyper-V, networking and file system
Si entiendo correctamente, la imagen base especificada es para el espacio del usuario y se usa el kernel del host. Entonces, si especifico que estoy usando una imagen base de ubuntu para ejecutar el comando echo, ¿cómo entra en juego el kernel de Windows?
¿O estoy completamente malinterpretando algo?
Docker para Windows todavía usa una VM de Linux para ejecutar contenedores de Linux. Pero en lugar de usar Virtual Box (que es lo que se usa con Docker Toolbox), la VM de Linux se ejecuta usando Hyper-V, un hipervisor nativo de Windows. Esto significa que Docker para Windows envía menos componentes y tiene menos partes móviles.
Si instala Docker para Windows y ejecuta la docker version , verá que el demonio Docker Linux se ejecuta en "Moby Linux".