Desarrollo con Docker Windows Subsistema para Linux (WSL)

Desarrollo con Docker Windows Subsistema para Linux (WSL)

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:

  1. Vista previa técnica de Docker Desktop WSL 2
  2. Ubuntu 18.04 de Windows Tienda

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:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (requiere reiniciar la computadora)
  2. 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 2
  • wsl -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.

Desarrollo con Docker Windows Subsistema para Linux (WSL)

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

Desarrollo con Docker Windows Subsistema para Linux (WSL)

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í.

Desarrollo con Docker Windows Subsistema para Linux (WSL)

¡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.

Desarrollo con Docker Windows Subsistema para Linux (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 Paquete de extensión de desarrollo remoto.

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

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster