
Para trabajar plenamente con un proyecto Docker en WSL, es necesario instalar WSL 2. En el momento de escribir este texto, su uso solo es posible dentro del Programa Insider. Windows (WSL 2 está disponible en las compilaciones 18932 y superiores). También vale la pena mencionar que la versión requerida es Windows 10 Profesional para la instalación y configuración de Docker Desktop.
Primeros pasos
Después de unirte al Programa Insider e instalar las actualizaciones, debes instalar la distribución. Linux (Este ejemplo utiliza Ubuntu 18.04) y Docker Desktop con WSL 2 Tech Preview:
En ambos puntos seguimos todas las instrucciones de instalación y configuración.
Instalación de la distribución Ubuntu 18.04
Antes de comenzar Ubuntu 18.04 debe estar habilitado Windows WSL y Windows Plataforma de máquina virtual ejecutando dos comandos en PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(requiere reiniciar la computadora)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Luego debemos asegurarnos de que usaremos WSL v2. Para hacer esto, en la terminal WSL o PowerShell, ejecute los siguientes comandos:
wsl -l -v— mira qué versión está instalada actualmente. Si es 1, entonces avanzamos hacia abajo en la lista.wsl --set-version ubuntu 18.04 2- para actualizar a la versión 2wsl -s ubuntu 18.04— instalamos Ubuntu 18.04 como distribución predeterminada
Teper mojno zapustit Ubuntu 18.04, complete la configuración (especifique el nombre de usuario y la contraseña).
Instalación de escritorio Docker
Siga las instrucciones de instalación. El equipo requerirá un reinicio después de la instalación y en el primer arranque para habilitar Hyper-V (el soporte para el cual requiere la versión Windows 10 ventajas).
¡Importante! Si Docker Desktop informa un bloqueo por parte del firewall, vaya a la configuración del antivirus y realice los siguientes cambios en las reglas del firewall (en este ejemplo, se utiliza Kaspersky Total Security como antivirus):
- Vaya a Configuración -> Seguridad -> Firewall -> Configurar reglas de paquetes -> Servicio local (TCP) -> Editar
- Eliminar el puerto 445 de la lista de puertos locales
- Conservar
Después de iniciar Docker Desktop, seleccione WSL 2 Tech Preview en su menú contextual.

En la ventana que se abre, haga clic en el botón Inicio.

Docker y docker-compose ahora están disponibles en la distribución WSL.
¡Importante! El Docker Desktop actualizado ahora tiene una pestaña con WSL dentro de la ventana de configuración. El soporte WSL está habilitado allí.

¡Importante! Además de la casilla de verificación de activación de WSL, también debe activar su distribución de WSL en la pestaña Recursos->Integración de WSL.

Lanzar
Lo inesperado fueron los numerosos problemas que surgieron al intentar iniciar los contenedores del proyecto ubicados en el directorio del usuario. Windows.
Errores de varios tipos relacionados con la ejecución de scripts bash (que normalmente se inician al crear contenedores para instalar las bibliotecas y distribuciones necesarias) y otros, comunes para el desarrollo en LinuxEstas cosas me hicieron pensar en colocar los proyectos directamente en el directorio del usuario. Ubuntu 18.04.
.
La solución al problema anterior conduce al siguiente: cómo trabajar con archivos de proyecto a través del IDE instalado en WindowsLa única "mejor práctica" que he encontrado para mí es trabajar con VSCode (aunque soy fan de PhpStorm).
Después de descargar e instalar VSCode, asegúrese de instalarlo en la extensión .
Después de instalar la extensión mencionada anteriormente, simplemente ejecute el comando code . en el directorio del proyecto cuando VSCode se está ejecutando.
En este ejemplo, se requiere nginx para acceder a los contenedores a través del navegador. Instálalo a través de sudo apt-get install nginx Resultó que no era tan sencillo. Primero, necesitábamos actualizar la distribución WSL ejecutando sudo apt update && sudo apt dist-upgrade, y solo después de eso inicie la instalación de nginx.
¡Importante! No todos los dominios locales están registrados en el archivo /etc/hosts de la distribución. Linux (ni siquiera está ahí), pero en el archivo hosts (normalmente ubicado en C:WindowsSystem32driversetchost) Windows 10.
fuentes
Puede encontrar una descripción más detallada de cada paso aquí:
Fuente: habr.com
