Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save RogerioPST/5cbe367a8293c5599d1a46250ac2e86a to your computer and use it in GitHub Desktop.
Save RogerioPST/5cbe367a8293c5599d1a46250ac2e86a to your computer and use it in GitHub Desktop.
Guia rápido de instalação do WSL2 + Docker

Guia rápido de instalação do WSL2 + Docker

Em 2016, a Microsoft anunciou a possibilidade de rodar o Linux dentro do Windows 10 como um subsistema e o nome a isto foi dado de WSL ou Windows Subsystem for Linux.

O acesso ao sistema de arquivos no Windows 10 pelo Linux era simples e rápido, porém não tinhamos uma execução completa do kernel do Linux e outros artefatos nativos e isto impossibilitava a execução de várias tarefas no Linux, uma delas é o Docker.

Em 2019, a Microsoft anunciou o WSL2, com uma dinâmica aprimorada em relação a 1ª versão:

  • Execução do kernel completo do Linux
  • Melhor desempenho para acesso aos arquivos dentro do Linux
  • Compatibilidade completa de chamada do sistema

O WSL2 já estava disponível na versão Insider do Windows, mas na última semana de maio de 2020 passou a estar disponível em final release na atualização 20.04 do Windows 10.

Assim, o WSL2 permitiu que executemos Docker no Linux usando o Windows 10.

Compare as versões: https://docs.microsoft.com/pt-br/windows/wsl/compare-versions

Vamos entender como usar o Docker com o WSL 2.

Antes de começarmos o que você precisa ter para rodar o WSL:

  • Windows 10 Home ou Professional
  • Uma máquina compatível com virtualização.
  • Pelo menos 4GB de memória RAM

1- Verifique a versão do seu Windows, se já for a versão 20.04 ótimo, estamos prontos, senão precisamos instalar a atualização para instalar a 20.04.

https://www.microsoft.com/pt-br/software-download/windows10

O software da atualização verificará se sua máquina é compatível com a atualização. A atualização poderá levar muito tempo, pra mim levou mais de 1 hora para atualizar.

2 - Instale a última atualização do kernel do WSL 2:

https://docs.microsoft.com/pt-br/windows/wsl/wsl2-kernel

Pasta instalar, não precisa de mais nada

Recomendar este tutorial e colocar no Youtube Install Windows Subsystem for Linux (WSL) on Windows 10

3 - Habilite o recurso do WSL no Windows

Digite 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

Reinicie sua máquina somente por segurança.

4 - Atribua a versão default do WSL para a versão 2

wsl --set-default-version 2

5 - Escolha sua distribuição Linux no Windows Store

Ao iniciar a versão, você deverá criar um 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.

6 - Alterar a versão do WSL de uma distribuição

wsl --set-version <distribution name> <versionNumber>

7 - Dicas:

  • Atalho no menu iniciar Ou executando C:\Windows\System32\wsl.exe
  • O sistema de arquivos do Windows é acessível em /mnt
  • É possível acessar o sistema de arquivos do Linux pela rede do Windows digite \wsl$
  • É possível acessar uma pasta digitando explorer.exe .
  • É possível abrir uma pasta com o VSCode digitando code .
  • É possível acessar executáveis do Windows no terminal do Linux.

8 - Instale o Docker Desktop versão maior ou igual 2.3

9 - Habilite o WSL no Docker Desktop

  • Vá em Resources/WSL Integration

10 - Teste o seu Docker

Execute o comando docker run ou docker-compose up

11 - Por padrão o WSL2 pode utilizar “recursos de forma ilimitada” na sua máquina.

Se você quiser limitar os recursos, crie um arquivo .wsconfig na pasta do seu usuário.

https://docs.microsoft.com/pt-br/windows/wsl/wsl-config#configure-global-options-with-wslconfig

Depois de configurar execute no power shell:

wsl --shutdown (vai reiniciar o Docker também e vai aparecer uma mensagem se você quer iniciar o Docker

12 - As duas distribuições WSL do docker:

https://www.docker.com/blog/new-docker-desktop-wsl2-backend/

13 - Liberar memória no host

https://linux-mm.org/Drop_Caches

echo 1 | sudo tee /proc/sys/vm/drop_caches

echo 3 | sudo tee /proc/sys/vm/drop_caches

14 - Use BuildKit and multi-stage builds

Acrescente export DOCKER_BUILDKIT=1 no .profile do seu usuário

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment