A instalação do Docker Desktop no Windows 11 Home Edition requer algumas etapas adicionais em comparação com a versão Pro, pois a edição Home não oferece nativamente o Hyper-V nem algumas funcionalidades de gerenciamento de políticas de grupo. No entanto, é perfeitamente viável utilizar o WSL 2 (Windows Subsystem for Linux 2) como backend, que é a abordagem recomendada pela Microsoft.
Por que usar o WSL 2?
Nas versões Pro do Windows, o Docker Desktop utiliza o Hyper-V para criar uma máquina virtual Linux leve onde os contêineres rodam. Como o Windows 11 Home não possui o Hyper-V, o WSL 2 se torna a alternativa ideal. O WSL 2 utiliza o recurso "Plataforma de Máquina Virtual" do Windows, que está disponível na edição Home, permitindo que o Docker Desktop opere de forma eficiente.
Pré-requisitos e Preparação
- Verificação da Versão do Windows: Assegure-se de que seu Windows 11 Home está atualizado. Acesse
Configurações>Windows Updatee clique em "Verificar atualizações". - Ativação da Virtualização de CPU: Essencial para qualquer funcionalidade de virtualização.
- Verificação: Abra o Gerenciador de Tarefas (
Ctrl + Shift + Esc), vá para a aba "Desempenho" e clique em "CPU". Verifique se "Virtualização" está "Habilitado" no canto inferior direito. - Ativação: Se desabilitado, reinicie o computador e acesse as configurações da BIOS/UEFI. Procure por opções como
Intel Virtualization Technology (VT-x)ouAMD-Vem menus comoAdvanced,CPU ConfigurationouSecuritye ative-as. A localização exata varia conforme o fabricante da placa-mãe.
- Verificação: Abra o Gerenciador de Tarefas (
- Memória RAM: Recomenda-se no mínimo 8GB de RAM, pois o WSL 2 e o Docker consomem recursos significativos.
- SSD: Um disco de estado sólido (SSD) é altamente recomendado para uma experiência de performance superior com o WSL 2 e Docker.
Instalação Detalhada
Utilizaremos o PowerShell para a maioria dos comandos.
Passo 1: Habilitar WSL e Plataforma de Máquina Virtual
Esta etapa é crucial para contornar a ausência do Hyper-V.
-
Abra o PowerShell como administrador: pesquise por "PowerShell" no menu Iniciar, clique com o botão direito e selecione "Executar como administrador".
-
Execute os seguintes comandos no PowerShell: ```powershell
Habilita o Subsistema do Windows para Linux
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Habilita a Plataforma de Máquina Virtual (substituto do Hyper-V)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
Reinicie o computador para que as alterações entrem em vigor.
Passo 2: Instalar WSL 2 e Ubuntu
O comando abaixo automatiza a instalação do kernel Linux mais recente, define o WSL 2 como padrão e instala o Ubuntu.
-
Após reiniciar, abra o PowerShell (não precisa ser como administrador).
-
Execute: ```powershell
wsl --install
-
Este comando realizará as seguintes ações:
- Habilitará os recursos necessários (se não foram ativados no Passo 1).
- Baixará e instalará o kernel Linux mais recente para WSL 2.
- Configurará o WSL 2 como a versão padrão.
- Baixará e instalará o Ubuntu da Microsoft Store.
- Geralmente, também instalará o Windows Terminal.
-
Após a conclusão, reinicie o computador novamente.
Passo 3: Configuração Inicial do Ubuntu
- Após o reinício, o Ubuntu iniciará automaticamente a instalação. Aguarde a mensagem "Installing, this may take a few minutes...".
- Quando solicitado, crie um nome de usuário UNIX (diferente do seu usuário Windows, pode ser tudo minúsculo, ex:
meuusuario) e uma senha. Lembre-se desta senha, pois será necessária para comandossudo. A senha não será exibida enquanto você digita. - Após a configuração, um ambiente Ubuntu funcional estará pronto. Digite
exitpara fechar a janela.
Observação: Se o Windows Terminal não foi instalado automaticamente, procure por "Windows Terminal" na Microsoft Store.
Passo 4: Baixar e Instalar o Docker Desktop
- Acesse a página oficial de download do Docker Desktop: https://www.docker.com/products/docker-desktop/
- Clique em "Download for Windows" e execute o instalador (
Docker Desktop Installer.exe). - Durante a instalação, certifique-se de que a opção para usar o backend WSL 2 esteja habilitada (deve estar por padrão após nossos passos anteriores). Prossiga com a instalação.
- Ao final, será solicitado que você saia e reinicie. Faça logout do seu usuário Windows ou reinicie o sistema.
Passo 5: Configurar o Docker Desktop para Usar o Backend WSL 2
- Inicie o "Docker Desktop" pelo menu Iniciar. Aguarde o ícone da baleia na bandeja do sistema ficar verde.
- Clique com o botão direito no ícone da baleia e selecione
Settings. - Em
General, verifique se "Use the WSL 2 based engine" está selecionado. - Vá para
Resources>WSL Integration. - Habilite a integração para o seu Ubuntu (ou outra distribuição Linux instalada). Isso permite usar comandos
dockerdiretamente no terminal Linux. - Clique em
Apply & Restart.
Verificando a Instalação
-
Abra o Windows Terminal ou um prompt de comando.
-
Verifique a versão do Docker: ```bash
docker --version
A saída deve ser similar a `Docker version 24.0.x, build ...`. -
Execute o contêiner de teste: ```bash
docker run hello-world
Se você vir a mensagem "Hello from Docker!", a instalação foi bem-sucedida. -
Verifique a integração com o WSL: Abra o terminal Ubuntu no Windows Terminal (selecione "Ubuntu" na lista suspensa). Execute
docker --versionedocker ps. Se os comandos funcionarem, a integração está correta.
Solução de Problemas Comuns
- Comando
wslnão reconhecido: Verifique se o WSL foi habilitado corretamente (Passo 1) e se o sistema foi reiniciado. - Erro "WSL 2 installation is incomplete": Instale manualmante o pacote de atualização do kernel WSL 2 baixando o
wsl_update_x64.msida documentação oficial da Microsoft e reinicie. - Comando
dockernão encontrado no WSL: Certifique-se de ter habilitado a integração do WSL para sua distribuição nas configurações do Docker Desktop (Passo 5, item 6). - Downloads lentos de imagens: Configure um mirror de registro de contêineres na configuração do Docker Engine (
Settings>Docker Engine) com um endereço de um mirror chinês, por exemplo.
Otimizando o Espaço em Disco C: Eliminando o Inchaço do Docker
O Problema: O Disco Virtual ext4.vhdx Cresce Indefinidamente no Disco C:
O Docker Desktop no Windows utiliza um arquivo de disco virtual WSL 2 (ext4.vhdx) que armazena todos os dados de imagens, contêineres e volumes. Este arquivo, por natureza, expande-se dinamicamente, mas raramente se contrai após a exclusão de dados. Isso leva a um acúmulo de espaço "fantasmas" no disco C:, mesmo após a limpeza de recursos Docker com docker prune.
A Causa Raiz: Mecanismos de Proteção do Disco C:
O disco C: no Windows possui mecanismos como a "Restauração do Sistema" e "Cópias de Sombra" que tendem a "travar" o tamanho máximo ocupado por arquivos grandes, impedindo que o ext4.vhdx seja reduzido após a exclusão de dados. O disco virtual WSL 2 não consegue liberar o espaço físico ocupado na unidade C:.
Solução Definitiva: Migrar o Disco Virtual WSL 2 para Outra Unidade (Ex: D:)
Ao mover o ext4.vhdx para uma unidade diferente (como D:) e garantir que essa unidade não tenha as mesmas restrições de "proteção de sistema", o arquivo de disco virtual poderá se contrair livremente.
Por que Mover para D: Funciona?
Unidades de dados (D:, E:, etc.) geralmente não possuem os mesmos serviços de proteção de sistema ativados por padrão. Isso permite que o arquivo ext4.vhdx opere como um disco dinâmico real, expandindo e contraindo conforme necessário.
Passo 1: Migrar o Arquivo ext4.vhdx
Importante: Saia do Docker Desktop e feche todos os terminais WSL antes de prosseguir. Faça backup de dados importantes.
- Método Recomendado (Docker Desktop v4.6.0+):
- Saia do Docker Desktop.
- Reinicie o Docker Desktop, vá em
Settings(ícone de engrenagem) >Resources>Advanced. - No campo
Disk image location, clique emBrowsee selecione um diretório em D: (ex:D:\DockerWSL). - Clique em
Apply & restart. Aguarde a migração automática.
- Método Manual (Linha de Comando WSL - Usuários Avançados):
-
Feche todas as distribuições WSL: ```powershell
wsl --shutdown
-
Exporte o disco de dados do Docker: ```powershell
wsl --export docker-desktop-data D:\docker-desktop-data.tar
-
Desregistre a distribuição original: ```powershell
wsl --unregister docker-desktop-data
-
Importe a distribuição para D: usando WSL 2: ```powershell
wsl --import docker-desktop-data D:\wsl\docker-desktop-data D:\docker-desktop-data.tar --version 2
-
Reinicie o Docker Desktop.
-
Passo 2: Manutenção e Limpeza Periódica
Execute comandos para limpar dados Docker não utilizados e permitir que o disco virtual se contraia:
-
Limpeza geral: ```bash
Remove contêineres parados, redes não utilizadas, imagens pendentes e cache de build
docker system prune -a
Remove volumes não utilizados (CUIDADO: apaga dados, confirme se não há bancos de dados importantes)
docker volume prune
-
Compressão manual do VHDX (Opcional, após limpeza intensa):
-
Feche o WSL:
wsl --shutdown. -
Execute o comando de otimização (substitua o caminho pelo local real do seu
ext4.vhdxem D:): ```powershellOptimize-VHD -Path "D:\wsl\docker-desktop-data\ext4.vhdx" -Mode Full
-
Ao migrar para D: e manter uma rotina de limpeza, o uso de disco do Docker se tornará gerenciável, evitando o esgotamento do espaço no disco C:.