Se você usa Windows e precisa trabalhar com Docker, Terraform, scripts Bash ou qualquer ferramenta nativa de Linux, o WSL 2 (Windows Subsystem for Linux) é o caminho certo. Ele roda um kernel Linux real dentro do Windows — sem dual boot, sem máquina virtual pesada — e se integra perfeitamente com o Docker.
Neste artigo você vai instalar o WSL 2 com Ubuntu e configurar o Docker, com duas opções: via Docker Desktop (mais simples) ou via Docker Engine direto no Linux (mais leve).
Pré-requisitos
- Windows 11 ou Windows 10 (build 19041 ou superior)
- Virtualização por hardware habilitada na BIOS/UEFI
- Conexão à internet
Para verificar se a virtualização está ativa, abra o Gerenciador de Tarefas → aba Desempenho → CPU → confirme que "Virtualização: Habilitado" aparece.
1. Instalar o WSL 2
Abra o PowerShell como Administrador e execute:
wsl --install
Este comando habilita os componentes necessários, instala o WSL 2 e baixa o Ubuntu como distribuição padrão. Ao final, reinicie o computador quando solicitado.
Para instalar uma distribuição diferente, use:
# listar distribuições disponíveis
wsl --list --online
# instalar uma específica
wsl --install -d Debian
Verificar a instalação
wsl --version
wsl -l -v
A coluna VERSION deve mostrar 2 para confirmar que está usando WSL 2. Novas instalações com wsl --install já são configuradas para WSL 2 por padrão.
Para instruções detalhadas, consulte a documentação oficial da Microsoft.
2. Instalar o Docker
Você tem duas opções. Escolha a que melhor se encaixa no seu uso:
| Docker Desktop | Docker Engine no WSL | |
|---|---|---|
| Interface gráfica | ✅ Sim | ❌ Não |
| Facilidade | Alta | Média |
| Consumo de recursos | Maior | Menor |
| Licença | Gratuito para uso pessoal | Open source |
| Recomendado para | Iniciantes e uso geral | Devs que preferem CLI |
Opção A: Docker Desktop com integração WSL 2
- Baixe o Docker Desktop para Windows
- Durante a instalação, mantenha marcada a opção Use WSL 2 instead of Hyper-V
- Após instalar, abra o Docker Desktop e vá em Settings → General → ative Use the WSL 2 based engine
- Em Settings → Resources → WSL Integration, habilite a distro que você usa (ex: Ubuntu)
- Abra o terminal do WSL — os comandos
dockeredocker composejá estarão disponíveis
docker --version
docker compose version
Opção B: Docker Engine dentro do Ubuntu (WSL 2)
Abra o terminal do Ubuntu no WSL e execute os passos abaixo.
Adicionar o repositório oficial do Docker:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instalar o Docker Engine e o Compose:
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Adicionar seu usuário ao grupo docker (evita usar sudo a cada comando):
sudo usermod -aG docker $USER
Reiniciar o WSL para aplicar as permissões. No PowerShell:
wsl --shutdown
Reabra o terminal do Ubuntu.
Iniciar o daemon do Docker:
sudo service docker start
Se quiser que o Docker inicie automaticamente, ative o systemd no WSL adicionando ao
/etc/wsl.conf:[boot] systemd=trueApós salvar, execute
wsl --shutdownno PowerShell e reabra o WSL.
Verificar a instalação:
docker run --rm hello-world
docker compose version
Consulte o guia oficial de instalação no Ubuntu para mais detalhes.
3. Exemplos práticos
Subir um NGINX
docker run --name exemplo-nginx -p 8080:80 -d nginx:stable
Acesse http://localhost:8080 no navegador do Windows, o Docker no WSL expõe as portas automaticamente para o host.
Usar Docker Compose
Crie um arquivo compose.yml:
services:
web:
image: nginx:stable
ports:
- "8080:80"
# subir os serviços
docker compose up -d
# verificar status
docker compose ps
# ver logs em tempo real
docker compose logs -f
# encerrar e remover os containers
docker compose down
Top comments (0)