Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Para traballar completamente cun proxecto Docker en WSL, debes instalar WSL 2. No momento de escribir este documento, o seu uso só é posible como parte da participación no programa Windows Insider (WSL 2 está dispoñible nas compilacións 18932 e superiores). Tamén vale a pena mencionar por separado que é necesaria a versión Windows 10 Pro para instalar e configurar Docker Desktop.

Primeiros Pasos

Despois de unirse ao programa Insider e instalar actualizacións, cómpre instalar unha distribución Linux (Ubuntu 18.04 neste exemplo) e Docker Desktop con WSL 2 Tech Preview:

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

En ambos os dous puntos seguimos todas as instrucións de instalación e configuración.

Instalación da distribución Ubuntu 18.04

Antes de executar Ubuntu 18.04, cómpre activar Windows WSL e Windows Virtual Machine Platform executando dous comandos en PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (require un reinicio do ordenador)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Despois temos que asegurarnos de que usaremos WSL v2. Para iso, no terminal WSL ou PowerShell, execute os seguintes comandos:

  • wsl -l -v — mira que versión está instalada actualmente. Se é 1, movemos máis abaixo na lista
  • wsl --set-version ubuntu 18.04 2 - actualizar á versión 2
  • wsl -s ubuntu 18.04 — instala Ubuntu 18.04 como distribución predeterminada

Agora podes iniciar Ubuntu 18.04 e configuralo (especifica o teu nome de usuario e contrasinal).

Instalación de Docker Desktop

Siga as instrucións durante o proceso de instalación. O ordenador requirirá un reinicio despois da instalación e no primeiro inicio para activar Hyper-V (por iso é necesario Windows 10 Pro).

Importante! Se Docker Desktop informa de bloqueo polo firewall, vaia á configuración do antivirus e faga os seguintes cambios nas regras do firewall (neste exemplo, Kaspersky Total Security úsase como antivirus):

  • Vaia a Configuración -> Seguridade -> Firewall -> Configurar regras de paquetes -> Servizo local (TCP) -> Editar
  • Elimina o porto 445 da lista de portos locais
  • Reter

Despois de iniciar Docker Desktop, seleccione WSL 2 Tech Preview no seu menú contextual.

Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Na xanela que se abre, fai clic no botón Inicio.

Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Docker e docker-compose agora están dispoñibles na distribución WSL.

Importante! O escritorio de Docker actualizado agora ten unha pestana con WSL dentro da xanela de configuración. A compatibilidade con WSL está habilitada alí.

Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Importante! Ademais da caixa de verificación de activación de WSL, tamén debes activar a túa distribución WSL na pestana Recursos->Integración WSL.

Desenvolvemento con Docker no subsistema de Windows para Linux (WSL)

Lanzamento

O inesperado foron os moitos problemas que xurdiron ao intentar levantar os contedores do proxecto situados no directorio de usuarios de Windows.

Erros de diversa índole asociados ao lanzamento de scripts bash (que adoitan comezar cando se constrúen contedores para instalar as bibliotecas e distribucións necesarias) e outras cousas habituais para o desenvolvemento en Linux fixéronnos pensar en colocar os proxectos directamente no directorio de usuarios de Ubuntu 18.04.

.

Da solución ao problema anterior, segue o seguinte: como traballar con ficheiros de proxecto a través dun IDE instalado en Windows. Como "práctica recomendada", só atopei unha opción para min: traballar a través de VSCode (aínda que son fan de PhpStorm).

Despois de descargar e instalar VSCode, asegúrate de instalalo na extensión Paquete de extensión de desenvolvemento remoto.

Despois de instalar a extensión mencionada anteriormente, simplemente execute o comando code . no directorio do proxecto cando se está a executar VSCode.

Neste exemplo, nginx é necesario para acceder aos contedores a través do navegador. Instalalo a través de sudo apt-get install nginx Resultou que non era tan sinxelo. En primeiro lugar, necesitabamos actualizar a distribución WSL executando sudo apt update && sudo apt dist-upgrade, e só despois comeza a instalación de nginx.

Importante! Todos os dominios locais están rexistrados non no ficheiro /etc/hosts da distribución Linux (nin sequera está alí), senón no ficheiro hosts (normalmente situado C:WindowsSystem32driversetchosts) de Windows 10.

Fontes

Aquí pódese atopar unha descrición máis detallada de cada paso:

Fonte: www.habr.com

Engadir un comentario