Instalando Docker no Windows 11 Home e Otimizando o Espaço em Disco

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

  1. Verificação da Versão do Windows: Assegure-se de que seu Windows 11 Home está atualizado. Acesse Configurações > Windows Update e clique em "Verificar atualizações".
  2. 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) ou AMD-V em menus como Advanced, CPU Configuration ou Security e ative-as. A localização exata varia conforme o fabricante da placa-mãe.
  3. Memória RAM: Recomenda-se no mínimo 8GB de RAM, pois o WSL 2 e o Docker consomem recursos significativos.
  4. 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.

  1. Abra o PowerShell como administrador: pesquise por "PowerShell" no menu Iniciar, clique com o botão direito e selecione "Executar como administrador".

  2. 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

  3. 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.

  1. Após reiniciar, abra o PowerShell (não precisa ser como administrador).

  2. Execute: ```powershell

    wsl --install

  3. 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.
  4. Após a conclusão, reinicie o computador novamente.

Passo 3: Configuração Inicial do Ubuntu

  1. Após o reinício, o Ubuntu iniciará automaticamente a instalação. Aguarde a mensagem "Installing, this may take a few minutes...".
  2. 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 comandos sudo. A senha não será exibida enquanto você digita.
  3. Após a configuração, um ambiente Ubuntu funcional estará pronto. Digite exit para 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

  1. Acesse a página oficial de download do Docker Desktop: https://www.docker.com/products/docker-desktop/
  2. Clique em "Download for Windows" e execute o instalador (Docker Desktop Installer.exe).
  3. 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.
  4. 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

  1. Inicie o "Docker Desktop" pelo menu Iniciar. Aguarde o ícone da baleia na bandeja do sistema ficar verde.
  2. Clique com o botão direito no ícone da baleia e selecione Settings.
  3. Em General, verifique se "Use the WSL 2 based engine" está selecionado.
  4. Vá para Resources > WSL Integration.
  5. Habilite a integração para o seu Ubuntu (ou outra distribuição Linux instalada). Isso permite usar comandos docker diretamente no terminal Linux.
  6. Clique em Apply & Restart.

Verificando a Instalação

  1. Abra o Windows Terminal ou um prompt de comando.

  2. Verifique a versão do Docker: ```bash

    docker --version

    
     A saída deve ser similar a `Docker version 24.0.x, build ...`.
    
  3. 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.
    
  4. Verifique a integração com o WSL: Abra o terminal Ubuntu no Windows Terminal (selecione "Ubuntu" na lista suspensa). Execute docker --version e docker ps. Se os comandos funcionarem, a integração está correta.

Solução de Problemas Comuns

  • Comando wsl nã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.msi da documentação oficial da Microsoft e reinicie.
  • Comando docker nã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+):
    1. Saia do Docker Desktop.
    2. Reinicie o Docker Desktop, vá em Settings (ícone de engrenagem) > Resources > Advanced.
    3. No campo Disk image location, clique em Browse e selecione um diretório em D: (ex: D:\DockerWSL).
    4. Clique em Apply & restart. Aguarde a migração automática.
  • Método Manual (Linha de Comando WSL - Usuários Avançados):
    1. Feche todas as distribuições WSL: ```powershell

      wsl --shutdown

    2. Exporte o disco de dados do Docker: ```powershell

      wsl --export docker-desktop-data D:\docker-desktop-data.tar

    3. Desregistre a distribuição original: ```powershell

      wsl --unregister docker-desktop-data

    4. 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

    5. 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):

    1. Feche o WSL: wsl --shutdown.

    2. Execute o comando de otimização (substitua o caminho pelo local real do seu ext4.vhdx em D:): ```powershell

      Optimize-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:.

Tags: Docker windows 11 home wsl 2 docker desktop otimização de disco

Publicado em 7-26 22:38