Mudanças entre as edições de "Guia rápido do WSL2 + Docker"

De Redome
Ir para: navegação, pesquisa
Linha 157: Linha 157:
 
     • Para abrir o terminal do WSL basta digitar o nome da distribuição no menu Iniciar ou executar '''C:\Windows\System32\wsl.exe'''.
 
     • Para abrir o terminal do WSL basta digitar o nome da distribuição no menu Iniciar ou executar '''C:\Windows\System32\wsl.exe'''.
  
     • O sistema de arquivos do Windows 10 é acessível em '''/mnt'''.
+
     • O sistema de arquivos do Windows 10 é acessível em '''/mnt'''.<br><br> [[Arquivo:mount_no_wsl2.png.png|700px|thumb|nenhum]]

Edição das 20h47min de 5 de junho de 2021

WSL 2 – Windows Subsystem for Linux 2


A principal proposta de valor do WSL é que você pode ter Linux E Windows. Como desenvolvedor, isso é bastante atraente, pois você pode desenvolver
para ambas as plataformas em ambas as plataformas, mas com apenas uma máquina e sem ter que mudar constantemente de SO.

   • Linux funcionando dentro do Windows como subsistema;
   • Funciona em cima do Virtual Machine Platform;
   • Permite o controle do sistema através de um terminal;
   • Execução do kernel completo do Linux;
   • Compartilhamento completa de chamada do sistema;
   • Melhor desempenho para acesso aos arquivos dentro do Linux.

Requerimentos Mínimos:

   • Windows 10 Home ou Professional;
   • Atualização 20.04.;
   • 4GB de RAM;
   • Virtual Machine Platform;
   • Docker Desktop >= 2.3;
   • Windows Terminal.

Podemos dizer que o WSL 2 tem acesso quase que total ao recursos de sua máquina. Ele tem acesso por padrão:

   • A todo disco rígido.
   • A usar completamente os recursos de processamento.
   • A usar 80% da memória RAM disponível.
   • A usar 25% da memória disponível para SWAP.




Instalação do WSL 2

Pode ser que seu Windows 10 já seja igual ou superior a 20.04, verifique isto acessando o menu de notificações perto do relógio > Todas as configurações > Sistema > Sobre.

Etapas de instalação manual

Etapa 1 – Habilitar o Subsistema do Windows para Linux

Execute os seguintes comandos no PowerShell em modo administrador:

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Abra o PowerShell e digite o comando $ wsl, se não funcionar reinicie sua máquina.

Etapa 2 – Baixar o pacote de atualização do kernel do Linux

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Etapa 3 – Definir o WSL 2 como a sua versão padrão

A versão 1 do WSL é a padrão no momento, atribua a versão default para a versão 2, assim todas as distribuições Linux instaladas serão já por default da versão 2. Execute o comando com o PowerShell:

$ wsl --set-default-version 2

Etapa 4 – Instalar a distribuição do Linux de sua escolha

Escolha sua distribuição Linux preferida no aplicativo Windows Store, sugerimos o Ubuntu por ser uma distribuição popular e que já vem com várias ferramentas instaladas por padrão.

Arq1wsl2.png


Na página da distribuição, selecione "Obter".

Arq12wsl2.png


Etapa 5 – Criando usuário root da instância WSL

Ao iniciar o Linux instalado, você deverá criar um nome de usuário que poderá ser o mesmo da sua máquina e uma senha, este será o usuário root da sua instância WSL.
Parabéns, seu WSL2 já está funcionando:

Arq123wsl2.png


Etapa 6 – Configurações Opcionais

Desinstale o Hyper-V

Agora que temos o WSL 2 não precisamos mais do Hyper-V, desabilite-o em Painel de Controle > Programas e Recursos (se você tiver instalado o Hyper-V).

Alterar a versão do WSL 1 de uma distribuição para a versão 2

Se você já tiver o WSL 1 na máquina e acabou de instalar a versão 2, pode-se converter sua distribuição Linux WSL 1 para WSL 2, execute o comando com o PowerShell:

$ wsl --set-version <distribution name> 2


Etapa 6 – Instalar o Terminal do Windows

O Windows Terminal construído pela própria Microsoft que permite rodar terminais em abas, alterar cores e temas, configurar atalhos e muito mais. Instale-o pelo Windows Store e use estas configurações padrões para habilitar WSL 2, Git Bash e o tema drácula e alguns atalhos.

https://github.com/codeedu/wsl2-docker-quickstart/blob/master/windows-terminal-settings.json

Para sobrescrever as configurações clique a seta para baixo do lado das abas e em configurações, abrirá as configurações do Windows Terminal,
apenas cole o conteúdo do arquivo JSON e salve.

Arq1234wsl2.png


Etapa 7 – Definindo Recursos da Máquina

Crie um arquivo chamado .wslconfig na raiz da sua pasta de usuário (C:\Users\<seu_usuario>) e defina estas configurações:

[wsl2]
options=metadata,umask=22,fmask=11
memory=8GB
processors=4
swap=2GB

Para aplicar estas configurações é necessário reiniciar as distribuições Linux, então sugerimos executar no PowerShell o comando:

$ wsl –shutdown

Este comando vai desligar todas as instâncias WSL 2 ativas e basta abrir o terminal novamente para usa-la já com as novas configurações.




Integrar Docker com WSL 2

Instale o Docker Desktop

Baixe neste link: https://hub.docker.com/editions/community/docker-ce-desktop-windows e instale o Docker Desktop.

Docker funcionando dentro do wsl2.png

Habilite o Docker dentro do WSL 2
Clique no ícone do Docker perto do relógio -> Settings -> Settings no topo -> Resources -> WSL Integration.
Habilite Enable integration with my default WSL distro e habilite sua versão Linux.

Docker1.png


Docker2.png


Use BuildKit and multi-stage builds

Acrescente export DOCKER_BUILDKIT=1 no final do arquivo .profile do seu usuário do Linux para ganhar mais performance ao realizar builds com Docker.
Execute o comando $ source ~/.profile para carregar esta variável de ambiente no ambiente do seu WSL 2.




Dicas e truques básicos com WSL 2

   • A performance do WSL 2 está em se executar tudo dentro do Linux, por isso evite executar seus projetos com ou sem Docker do 
caminho /mnt/c, pois você perderá performance.
   • Para abrir o terminal do WSL basta digitar o nome da distribuição no menu Iniciar ou executar C:\Windows\System32\wsl.exe.
• O sistema de arquivos do Windows 10 é acessível em /mnt.