Entiendo que actualmente es posible ejecutar Ubuntu en Windows 10 de dos maneras diferentes:
- Uso del subsistema de Windows para Linux (WSL).
- Instalar docker para Windows 10 y usar un contenedor con Ubuntu.
Sin embargo, no pude encontrar una explicación fácil de entender de cuáles son las diferencias entre ellos (hablando de aplicaciones), así como las ventajas y desventajas.
Encontré una publicación que habla sobre el uso de Docker en WSL: Ubuntu a través de (Windows Linux Subsystem) y Docker . Pero estoy hablando de usarlo directamente en Windows 10. Así que agradeceré cualquier información sobre estos dos.
Respuestas:
Actualizado el 20/02/2018 para reflejar los cambios introducidos en WSL2
¡Hola! Microsoft PM trabajando en WSL y Command Line aquí.
WSL le permite ejecutar binarios ELF-64 de Linux nativos y no modificados directamente en Windows, y le permite ejecutar sus herramientas Linux favoritas sobre su sistema operativo "host" de Windows.
WSL1 adoptó el enfoque de agregar una capa compatible con syscall de Linux en la parte superior del kernel de NT, permitiendo que los binarios de Linux se ejecuten sobre NT, compartiendo el mismo sistema de archivos subyacente, redes, lista de procesos, etc. que el sistema operativo host.
El WSL2 que pronto se lanzará, por otro lado, ejecuta binarios de distribuciones dentro de contenedores de Linux, encima de un núcleo de Linux real, dentro de una máquina virtual liviana que asigna solo la RAM necesaria para las aplicaciones que ejecuta y luego libera RAM liberada sistema operativo host. Esto proporciona una compatibilidad 100% con Linux, y permite que sus herramientas Linux se ejecuten con un rendimiento casi nativo, y consume los recursos mínimos necesarios del host, asegurando que su máquina funcione de manera rápida y sin problemas.
Antes de WSL2, se podía ejecutar el cliente Docker en WSL1, utilizándolo para conducir Docker para Windows corriendo sobre Hyper-V en el host local, o para administrar un servidor Docker remoto. Pero no se puede ejecutar Docker Engine en WSL1 por muchas razones técnicas.
Sin embargo, puede hacer lo mismo en Docker en WSL2, pero también puede ejecutar Docker Engine sobre WSL si lo prefiere. Esta es la ruta preferida y futura de Docker para ejecutar Docker en el escritorio de Windows .
Para obtener más información sobre WSL, revise los videos y documentos aquí: https://aka.ms/learnwsl
fuente
Eso es correcto. Una cosa que no menciona es que WSL actualmente es bastante lento en io, incluso con un ssd rápido / mucha CPU ram / 8-core xeon. Esto sigue siendo un problema en 01/2019. Acabo de hacer un ray @ DESKTOP-O0MT13B: / mnt / c / Users / rayjh $ dd if = / dev / zero of = test bs = 64k count = 16k conv = fdatasync en mi estación de trabajo con un Samsung SSD y solo obtuve 97.6 MB / s.
Al ejecutar Ubuntu LTS de metal desnudo, este cuadro obtendrá VARIAS veces eso. No importa los interminables problemas cuando intentas combinar WSL con VSCODE.
Estoy borrando Windows 10 de aquí e instalando ubuntu 18.04LTS.
fuente