Con Docker Desktop ejecutándose en WSL 2, los usuarios pueden aprovechar los espacios de trabajo de Linux y evitar tener que mantener scripts de compilación de Linux y Windows. ¿Cómo es diferente? Las aplicaciones que se ejecutan en la ventana acoplable se limitan a aplicaciones que son compatibles de forma nativa con el sistema operativo host. En otras palabras, Docker para Windows solo puede alojar aplicaciones de Windows dentro de contenedores de Docker, y Docker en Linux solo admite aplicaciones de Linux. Docker en Windows: Desafíos Docker en Windows siempre ha sido un desafío, antes, cuando usé Docker por primera vez en 2017, tenía las siguientes limitaciones: Tenía un requisito estricto de las versiones de Windows compatibles, varios contenedores no estaban disponibles para la plataforma de Windows. El soporte para los sistemas de orquestación como Kubernates y Mesos no estaba completo. La mayor parte de esto estaba relacionado con el hecho de que Docker se escribió y creó originalmente para Linux. Hubo algunas soluciones para que funcionara en WSL (Subsistema de Windows para Linux), pero eran complicadas e incompletas. Windows Subsystem for Linux (WSL) 2 presenta un cambio arquitectónico significativo, ya que es un , lo que permite que los contenedores de Linux se ejecuten de forma nativa sin emulación. kernel de Linux completo creado por Microsoft A partir de WSL2, Docker puede ejecutarse en su flujo completo en Windows y puede usar imágenes creadas para Linux. El siguiente tutorial lo ayudará a instalar Docker en su WSL en Windows. requisitos previos Antes de instalar el backend Docker Desktop WSL 2, debe completar los siguientes pasos: Instale Windows 10, versión 2004 o superior (compilación 19041 o superior). Al momento de escribir este artículo, para actualizar a Windows 10 versión 2004 (Build 19041), deberá unirse al programa Windows Insider y seleccionar el anillo "Release Preview". El lanzamiento público debería llegar a fines de mayo. Habilite la función WSL 2 en Windows. Abra PowerShell como administrador y ejecute: dism.exe /online /enable-feature /featurename :Microsoft-Windows-Subsystem-Linux /all /norestart Habilite el componente opcional 'Plataforma de máquina virtual' Abra PowerShell como administrador y ejecute: dism.exe /online /enable-feature /featurename :VirtualMachinePlatform /all /norestart Reinicie su máquina en este punto para completar la instalación de WSL y actualizar a WSL 2. Instale el paquete del kernel de Linux necesario para actualizar la versión de WSL a WSL 2. Los detalles del kernel están en el siguiente enlace, https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel El instalador está en, https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi Establezca WSL 2 como su versión predeterminada Abra PowerShell como administrador y ejecute: wsl -- - -version set default 2 Instale la distribución de Linux que prefiera Abra Microsoft Store y seleccione su distribución de Linux favorita. Algunos de los más populares están a continuación: Ubuntu SUSE Servidor empresarial Linux La primera vez que inicie una distribución de Linux recién instalada, se abrirá una ventana de la consola y se le pedirá que espere uno o dos minutos para que los archivos se descompriman y se almacenen en su PC. Todos los lanzamientos futuros deberían tomar menos de un segundo. A continuación, deberá crear una cuenta de usuario y una contraseña para su nueva distribución de Linux. Compruebe la lista de distribuciones de Linux, wsl -l -v Configurar la distribución para usar WSL 2 wsl -- - <distribution name> set version <versionNumber> Instalación de Docker Desktop Descargue . Docker Desktop Stable 2.3.0.2 o una versión posterior Asegúrese de seleccionar a continuación durante la instalación, Ejecute Docker Desktop. Eso es todo. Ahora ha instalado Docker en WSL 2. Verifíquelo ejecutándolo en la terminal de Ubuntu/Linux. Configurar límites de contenedores de Docker en WSL2 WSL 2 también nos permite configurar la memoria y los procesadores en la configuración a continuación, esto se puede controlar en caso de que desee limitar los recursos utilizados por sus contenedores docker. Agregar archivo para ajustar la configuración de WSL2 %UserProfile%\.wslconfig [wsl2] =<path> # An absolute Windows path a custom Linux kernel. =<size> # How much memory assign the WSL2 VM. =<number> # How many processors assign t he WSL2 VM. =<size> # How much swap space the WSL2 VM. 0 swap file. =<path> # An absolute Windows path the swap vhd. =<bool> # Boolean specifying ports bound wildcard localhost the WSL2 VM should be connectable the host via localhost:port (default ). kernel to memory to to processors to to swap to add to for no swapFile to localhostForwarding if to or in from true Docker de prueba: Introducción De la documentación oficial de Docker, probemos la guía de inicio. git ://github.com/docker/getting- .git clone https started Ejecute los siguientes comandos para crear la imagen de la ventana acoplable, Tenga en cuenta que estamos ejecutando esto en la terminal WSL de su distribución de Linux. Correr docker run -d -p : --name docker-tutorial docker101tutorial 80 80 Abra el navegador y escriba http://localhost/ Debería ver la guía de inicio. Eso es todo amigos, hemos instalado y probado con éxito Docker en WSL2. Probaré más funciones de Docker en WSL2 y actualizaré el artículo, pero los pasos anteriores deberían darle una ventaja para usar imágenes de Linux en Docker para Windows. Publicado anteriormente en https://medium.com/codingfullstack/run-docker-linux-containers-natively-on-windows-subsystem-for-linux-4517584c86f5