Docker no Linux dentro do Windows 10 com WSL 2?

Clayton K. N. Passos
codigorefinado
Published in
4 min readJul 20, 2019

Finalmente consigo rodar Docker/Kubernets de maneira decente no no Windows, sem precisar ter dual boot ou um virtualbox :D com o WSL2, bem, pra mim funcionou e caso diga que ainda tenho maquina virtual, eu sei que tenho mas na minha experiência está sendo bem transparente que eu não sinto que tenho uma.

Vou te ensinar a instalar o WSL 2 enquanto ainda está em teste, mas lembre-se ,enquanto não for lançado em um update estável pela Microsoft você está assumindo o risco de pegar bugs :D

Você vai precisar da versão do Windows 10 no mínimo na versão: build 18917, para verificar você vai na tela de informações do sistema:

A minha já está acima desta versão, por isto já tenho WSL2, veja:

Primeiro se cadastre no programa Windows Insiders

Escolha o modo rápido para receber atualizações:

Abra a tela de verificação de atualizações, para não ficar esperando a agenda de atualização.

Clique no botão para verificar a atualização, e deixa rolar :D

Abra o power shell em modo administrador

Habilite o Windows Subsystem for Linux executando

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Habilite a plataforma de máquina virtual executando e reinicie :D

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Vá na loja da microsoft

Instale o Linux, talvez o Ubuntu :D

Novamente no powershell execute, (esta linha só funciona se você tiver o WSL2 instalado, se tiver o WSL1 não vai funcionar)

wsl --set-version Ubuntu 2

Pronto, agora basta abrir o terminal do linux e instalar todo o docker/kubernets normalmente e rodar :D

sudo apt updatesudo apt install apt-transport-https ca-certificates curl software-properties-commonsudo apt install build-essentialcurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key addsudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo apt update
sudo apt install docker-ce
sudo service docker startsudo docker run hello-world

Nas próximas execuções, talvez você tenha de executar novamente

sudo service docker start

Instale também o docker compose :D

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version

Você pode configurar o VSCode pra usar o terminal WSL2 (terminal do ubuntu padrão) pra ser usando dentro dele :D

Funcionou ai pra você? Como está sendo a experiência?

Acessar portas do Linux rodando no WSL2 no Windows

Ae, deixa eu avisar, tem algo que ainda não funciona, se você executar uma imagem que abre um porta e você precisa acessar do windows, digamos pelo Chrome, não funciona :( o acesso precisa acontecer de dentro do seu Linux. Mas tem um contorno técnico :D.

  • Opção numero 1 — Encontre o IP da sua máquina virtual e use o IP para acessar
ipconfig
  • Opção numero 2: você pode instalar um service da comunidade, usando este service você vai abrir no navegador wsl.local:8080
A instalação padrão inicia o service junto do windows

--

--