Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

Per treballar completament amb un projecte docker a WSL, cal instal·lar WSL 2. En el moment d'escriure aquest escrit, el seu ús només és possible com a part del programa Windows Insider (WSL 2 està disponible a les versions 18932 i superiors). També val la pena esmentar per separat que necessiteu una versió de Windows 10 Pro per instal·lar i configurar Docker Desktop.

Primers passos

Després d'unir-vos al programa Insider i instal·lar actualitzacions, heu d'instal·lar una distribució Linux (en aquest exemple s'utilitza Ubuntu 18.04) i Docker Desktop amb WSL 2 Tech Preview:

  1. Vista prèvia tècnica de Docker Desktop WSL 2
  2. Ubuntu 18.04 de Windows Store

En ambdós paràgrafs, seguiu totes les instruccions d'instal·lació i configuració.

Instal·lació de la distribució Ubuntu 18.04

Abans d'executar Ubuntu 18.04, heu d'habilitar Windows WSL i Windows Virtual Machine Platform executant dues ordres a PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (requereix un reinici de l'ordinador)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Després d'això, ens hem d'assegurar que farem servir WSL v2. Per fer-ho, executeu les ordres següents al terminal WSL o PowerShell:

  • wsl -l -v - veure quina versió està instal·lada actualment. Si és 1, moveu-vos cap avall per la llista
  • wsl --set-version ubuntu 18.04 2 - per actualitzar a la versió 2
  • wsl -s ubuntu 18.04 - instal·leu Ubuntu 18.04 com a distribució predeterminada

Ara podeu iniciar Ubuntu 18.04, configurar (especifiqueu el nom d'usuari i la contrasenya).

Instal·lació de Docker Desktop

Seguiu les instruccions durant el procés d'instal·lació. L'ordinador requerirà un reinici després de la instal·lació i al primer engegada per habilitar Hyper-V (per això cal Windows 10 Pro).

¡Important! Si Docker Desktop informa d'un bloqueig del tallafoc, aneu a la configuració de l'antivirus i feu els canvis següents a les regles del tallafoc (en aquest exemple, Kaspersky Total Security s'utilitza com a antivirus):

  • Aneu a Configuració -> Seguretat -> Tallafoc -> Configura regles de paquets -> Servei local (TCP) -> Edita
  • Elimineu el port 445 de la llista de ports locals
  • Conservar

Després d'iniciar Docker Desktop, seleccioneu WSL 2 Tech Preview al seu menú contextual.

Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

A la finestra que s'obre, feu clic al botó Inici.

Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

Docker i docker-compose ara estan disponibles dins de la distribució WSL.

¡Important! L'escriptori Docker actualitzat ara té una pestanya amb WSL dins de la finestra de configuració. El suport WSL està activat allà.

Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

¡Important! A més de la casella de selecció d'activació WSL, també heu d'activar la vostra distribució WSL a la pestanya Recursos-> Integració WSL.

Desenvolupament amb Docker al subsistema de Windows per a Linux (WSL)

Запуск

Els nombrosos problemes que van sorgir en intentar aixecar contenidors de projectes situats al directori d'usuaris de Windows van sorprendre.

Diversos tipus d'errors relacionats amb l'execució d'scripts bash (que solen començar quan es construeixen contenidors per instal·lar les biblioteques i distribucions necessàries) i altres coses que són habituals per al desenvolupament a Linux, em van fer pensar a col·locar els projectes directament al directori d'usuaris d'Ubuntu 18.04.

.

A partir de la solució del problema anterior, es desprèn el següent: com treballar amb fitxers de projecte mitjançant un IDE instal·lat a Windows. Com a "pràctica millor", només vaig trobar una opció per a mi: treballar amb VSCode (tot i que sóc fan de PhpStorm).

Després de descarregar i instal·lar VSCode, assegureu-vos d'instal·lar-lo a l'extensió Paquet d'extensió de desenvolupament remot.

Després d'instal·lar l'extensió anterior, només cal que executeu l'ordre code . al directori del projecte quan s'està executant VSCode.

En aquest exemple, nginx és necessari per accedir als contenidors mitjançant un navegador. Instal·leu-lo mitjançant sudo apt-get install nginx va resultar no tan fàcil. El primer pas va ser actualitzar la distribució WSL executant sudo apt update && sudo apt dist-upgrade, i només després d'això executeu la instal·lació de nginx.

¡Important! Tots els dominis locals no s'escriuen al fitxer /etc/hosts de la distribució de Linux (ni tan sols hi és), sinó al fitxer hosts de Windows 32 (normalment es troba C:WindowsSystem10driversetchosts).

Fonts

Podeu trobar una descripció més detallada de cada pas aquí:

Font: www.habr.com

Afegeix comentari