- O Docker Desktop no Windows depende da virtualização (Hyper-V ou WSL2) para fornecer um kernel. Linux e executar contêineres.
- O WSL2 permite instalar o Docker Engine diretamente em uma distribuição Linux, evitando o Docker Desktop quando uma interface gráfica não é necessária.
- No Windows Pro/Enterprise, o Hyper-V pode ser usado como um backend alternativo para o Docker Desktop e outras máquinas virtuais.
- Sem suporte para virtualização Hardwares As opções para usar o Docker Desktop se reduzem a soluções remotas ou outros equipamentos.
Instalar e usar o Docker Desktop no Windows quando você não tem virtualização de hardware ativa (ou quando sua CPU ou BIOS sequer a suportam ) pode parecer uma missão impossível, especialmente se você já assistiu a dezenas de tutoriais que pressupõem que você tenha o Hyper-V ou o WSL2 instalados e funcionando. Mas existem outras nuances: contêineres do Windows, contêineres do Linux, WSL2, Hyper-V, máquinas virtuais clássicas… e cada combinação tem suas próprias limitações.
Neste guia, vamos explicar de forma calma, porém direta, o que você pode e não pode fazer com o Docker Desktop sem virtualização de hardware , quais alternativas reais você tem para executar contêineres no Windows, como aproveitar o WSL2 e o Docker Engine "puro" para evitar o Docker Desktop quando necessário e quais truques você pode aplicar para desenvolver com contêineres confortavelmente usando o VS Code, mesmo em máquinas modestas.
Contêineres, Docker Desktop e Docker Engine: Conceitos-chave
Antes de discutir os requisitos de virtualização, é essencial compreender alguns conceitos básicos , pois eles determinam o que você pode fazer em sua máquina:
Um contêiner não é exatamente uma máquina virtual : ele compartilha o kernel com o sistema hospedeiro e isola processos, bibliotecas e o sistema de arquivos. É por isso que os contêineres Linux usam o kernel Linux do hospedeiro e os contêineres Windows usam o kernel Windows do hospedeiro, a menos que você adicione uma camada de virtualização.
O Docker Engine é o "verdadeiro" mecanismo do Docker, o serviço que cria, gerencia e executa contêineres. Ele roda nativamente no Linux, é gerenciado por linha de comando e é totalmente gratuito, sem limites de uso, projetado tanto para ambientes de desenvolvimento quanto de produção.
O Docker Desktop é um aplicativo para desktop que inclui o Docker Engine, além de uma interface gráfica, integração com Kubernetes, ferramentas de desenvolvimento, um painel de recursos, configuração simplificada e muito mais. No Windows e no macOS, ele sempre depende de alguma forma de virtualização para fornecer um ambiente Linux onde os contêineres serão executados.
A principal diferença entre Linux e Windows é que, no Linux, o Docker Engine pode ser executado diretamente no kernel sem uma máquina virtual, enquanto no Windows e no macOS o Docker Desktop usa uma máquina virtual Linux oculta, dependendo do WSL2 ou do Hyper-V, o que implica a necessidade de virtualização em nível de hardware.
Por fim, os contêineres do Windows podem ser executados em dois modos: isolamento de processo (compartilhando o kernel do Windows do host) ou isolamento semelhante ao Hyper-V (cada contêiner é executado dentro de uma mini-VM). Na prática, para a maioria dos cenários modernos com o Docker Desktop no Windows, a virtualização acaba sendo usada de uma forma ou de outra.
É possível executar contêineres do Windows sem o Hyper-V?

A pergunta típica é se é possível executar contêineres Windows "puros" sem o Hyper-V , usando apenas o kernel do Windows host no modo de isolamento de processos, evitando assim a virtualização de hardware. Em teoria, o isolamento de processos permite exatamente isso: usar o mesmo kernel sem um hipervisor.
O problema prático é que a maioria dos cenários suportados pelo Docker Desktop e pelas versões modernas do Windows são projetados para serem executados com o Hyper-V e/ou o WSL2 habilitados. Mesmo ao usar contêineres do Windows, o Docker Desktop depende muito da infraestrutura de virtualização da Microsoft.
Tentar executar contêineres do Windows sem virtualização leva a um beco sem saída com muitas restrições: você depende de versões muito específicas do Windows Server ou do Windows 10/11, precisa habilitar recursos específicos e, mesmo assim, a experiência é frágil, complexa de configurar e muito aquém do que o Docker Desktop padrão oferece.
Além disso, projetos como executar o Docker para Windows no Wine em um sistema Linux esbarram em uma realidade bastante difícil: o Docker Desktop e o mecanismo do Docker no Windows esperam se comunicar com camadas de virtualização e APIs de sistema muito específicas. O Wine não implementa tudo isso de forma confiável, então essa ideia é mais um experimento teórico do que uma solução viável.
Conclusão prática neste ponto: se seu objetivo é executar contêineres do Windows em um host Windows moderno , mais cedo ou mais tarde você precisará de virtualização (Hyper-V ou WSL2) para uma experiência funcional e com suporte. Sem ela, tudo se resume a soluções alternativas muito limitadas.
Opções caso precise do Docker no Windows sem depender do Docker Desktop.

Se, por algum motivo, você quiser ou precisar evitar o Docker Desktop em um host Windows , existem diversas alternativas viáveis, dependendo do seu hardware e da versão do Windows que você está usando.
A opção mais tradicional é criar uma máquina virtual Linux usando ferramentas como VMware Workstation, Oracle VirtualBox ou o próprio Hyper-V da Microsoft, instalar uma distribuição Linux nela e, em seguida, configurar o Docker Engine. No entanto, todas essas soluções ainda exigem que a virtualização de hardware esteja habilitada na BIOS.
VMware e VirtualBox funcionam bem, mas pertencem a empresas com práticas comerciais questionáveis e um certo excesso de custos. Mesmo assim, são soluções muito maduras, com interfaces de gerenciamento amigáveis e muita documentação e tutoriais disponíveis online.
O Hyper-V vem integrado ao Windows (edições Pro e superiores), é gratuito e muito robusto. Ele permite criar máquinas virtuais leves onde você pode implantar o Linux e, dentro dele, o Docker Engine. É uma opção muito atraente se você já possui o Windows Pro ou Enterprise e deseja um ambiente praticamente "oficial" sem instalar softwares de terceiros.
A alternativa mais simples para a maioria dos usuários domésticos e desenvolvedores hoje em dia é usar o WSL2 (Subsistema Windows para Linux 2) e executar o Docker Engine diretamente na distribuição Linux. Dessa forma, você pode esquecer completamente o Docker Desktop, se desejar, trabalhar a partir da linha de comando do Linux e continuar usando suas ferramentas do Windows.
Instalando e preparando o WSL2 no Windows 10 e Windows 11
O WSL2 tornou-se o método recomendado pela Microsoft e pelo Docker para trabalhar com contêineres Linux no Windows, tanto no Windows 10 quanto no Windows 11. Ele oferece um kernel Linux completo, empacotado em uma máquina virtual pequena e otimizada, e se integra muito bem ao sistema.
Primeiro, verifique se a sua versão do Windows é compatível.. pressione WIN+R, escreve winver e verifique os dados:
- Windows 10 Deve ser, no mínimo, a versão 1903 com a compilação 18362.1049 ou superior.
- Windows 11 É compatível com todas as versões atuais.
Em seguida, verifique se a virtualização de hardware está ativada . Abra o Gerenciador de Tarefas , acesse a guia Desempenho , selecione CPU e observe o bloco de informações: ele deve exibir “Virtualização: Ativada”.
Se aparecer como desativado e sua CPU suportar virtualização , você precisará acessar a UEFI/BIOS da sua placa-mãe e habilitar as opções de virtualização ( Intel VT-x, AMD-V ou similar). Se o seu processador for muito antigo ou se o fabricante tiver bloqueado a virtualização, essa será a sua limitação física.
Para ativar os recursos do WSL2 no Windows, Aperte WIN+R, escreve optionalfeatures E na janela de recursos, verifique estas duas entradas:
Virtual Machine PlatformWindows Subsystem for Linux
Deixe o Windows baixar e instalar os componentes necessários ; ele solicitará que você reinicie o computador ao concluir. Faça isso, pois sem essa reinicialização o WSL2 não será aplicado corretamente.
Quando o sistema reiniciar, abra o Prompt de Comando com privilégios de administrador (pesquise “Prompt de Comando” no menu Iniciar > clique com o botão direito do mouse > Executar como administrador) e execute o seguinte comando:
wsl --set-default-version 2
Em seguida, atualize o kernel do WSL2 para a versão mais recente disponível com:
wsl --update --web-download
Para ver quais distribuições Linux você pode instalar , consulte a lista disponível online:
wsl --list --online
A recomendação geral para iniciantes é usar uma versão recente do Ubuntu LTS , pois a maioria da documentação e dos exemplos são baseados nela. Por exemplo, para instalar o Ubuntu 24.04 LTS:
wsl --install --web-download --distribution Ubuntu-24.04
Quando a instalação da distribuição estiver concluída, uma janela de terminal será aberta automaticamente , solicitando que você crie um nome de usuário e uma senha para esse sistema Linux. Escolha credenciais fortes; idealmente, elas não devem ser as mesmas da sua conta do Windows.
Se você deseja otimizar o espaço ocupado pelo disco virtual da distribuição , pode configurá-lo como "esparso" (dinâmico) a partir do prompt de comando do Windows:
wsl --manage Ubuntu-24.04 --set-sparse true
A partir deste ponto, você terá um ambiente Linux completo rodando "dentro" do Windows.Você pode acessá-lo a qualquer momento executando o seguinte comando: wsl através do mail CMD, PowerShell ou usando o Terminal do Windows, que também criará perfis para cada distribuição instalada.
Instalar o Docker Engine no WSL2 sem o Docker Desktop
Com sua distribuição Linux rodando no WSL2, o próximo passo é instalar o Docker Engine diretamente , ignorando a camada adicional do Docker Desktop. Isso proporciona desempenho quase nativo e, em muitos casos, simplifica as coisas se você não precisar da interface gráfica.
Inicie o seu sistema Ubuntu no WSL2 e primeiro atualize a lista de pacotes para garantir que tudo esteja atualizado:
sudo apt-get update
Instale as dependências básicas para trabalhar com repositórios HTTPS e gerenciar chaves GPG de terceiros:
sudo apt-get install ca-certificates curl
Crie o diretório onde você salvará a chave GPG para o repositório oficial do Docker e baixe a chave:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Adicione o repositório oficial do Docker para Ubuntu usando a arquitetura e o codinome do seu sistema:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Atualize os repositórios novamente agora que você adicionou a fonte do Docker e instale o mecanismo com suas ferramentas:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Para evitar ter que usar sudo sempre que precisar com comandos do Docker.Adicione seu usuário Linux ao grupo docker:
sudo usermod -aG docker $USER
Saia da distribuição e entre novamente (ou feche a janela do WSL e abra-a novamente) para que as alterações de grupo entrem em vigor. Se tudo correr bem, você deverá conseguir executar:
docker info
docker run --rm hello-world
Se você vir a mensagem de boas-vindas do Docker, significa que seu ambiente de contêineres Linux já está em execução no WSL2 , completamente independente do Docker Desktop e com consumo de recursos muito baixo.
Use o Docker Desktop com backend WSL2 em vez do Hyper-V.
Se você preferir uma experiência mais semelhante à de um desktop, com interface gráfica e assistentes , ainda poderá usar o Docker Desktop, mas especificando que ele utilize o WSL2 como backend em vez do Hyper-V. Isso é especialmente útil no Windows 10 Home, onde o Hyper-V completo não está disponível.
Baixe o Docker Desktop do site oficial do Docker e execute o instalador. Durante o processo, se o seu sistema for compatível com ambos, será perguntado se você deseja usar o WSL2 ou o Hyper-V. Na maioria dos cenários de desenvolvimento, a recomendação é selecionar o WSL2.
Após a instalação, abra o Docker Desktop no menu Iniciar . Quando o ícone do Docker aparecer na bandeja do sistema (ele pode estar no menu de ícones ocultos), clique com o botão direito do mouse sobre ele e acesse Configurações.
Na seção Geral da configuração, certifique-se de que a caixa de seleção “Usar o mecanismo baseado em WSL 2” esteja ativa , pois isso instrui o Docker Desktop a usar o WSL2 para executar contêineres Linux.
Em Configurações > Recursos > Integração com WSL , você verá uma lista das distribuições WSL2 instaladas. Habilite a integração para aquelas em que deseja usar o Docker (por exemplo, seu Ubuntu 24.04). A partir daí, você poderá iniciar contêineres dessa distribuição usando o Docker Engine gerenciado pelo Docker Desktop.
Para confirmar que tudo está em ordem, abra um terminal na sua distribuição WSL e execute:
docker --version
docker run hello-world
Se o contêiner de teste funcionar sem problemas, você terá o Docker Desktop funcionando com um backend WSL2 , o que permite combinar uma interface gráfica, gerenciamento fácil de imagens e o desempenho razoavelmente bom do WSL2.
Hyper-V como alternativa de virtualização para o Docker Desktop
Em sistemas com Windows 10/11 Pro ou Enterprise e virtualização de hardware disponível , outra opção é permitir que o Docker Desktop use o Hyper-V diretamente como mecanismo de virtualização para sua máquina virtual Linux interna.
O Hyper-V é o hipervisor nativo da Microsoft , disponível tanto no Windows Server quanto nas edições profissionais do Windows para desktop. Para o Docker, ele funciona como um host para uma máquina virtual leve na qual o Docker Engine e toda a pilha de contêineres são executados.
Para ativar o Hyper-V, retorne ao painel de Recursos do Windows (Painel de Controle > Programas > Programas e Recursos > Ativar ou desativar recursos do Windows) e marque a caixa Hyper-V . Se solicitado, tenha o arquivo ISO pronto ou deixe o Windows baixar os componentes.
Após reiniciar, baixe e instale o Docker Desktop para Windows . Durante o assistente, desmarque a opção para usar o WSL2 como backend e deixe a opção para usar o Hyper-V ativada. O instalador criará a máquina virtual do Docker no Hyper-V e configurará os serviços necessários.
Ao reiniciar e iniciar o Docker Desktop , faça login com sua conta Docker (gratuita para uso pessoal e de pequenas empresas) e complete o breve questionário de boas-vindas. Se você encontrar erros de inicialização do mecanismo , verifique se o Hyper-V está devidamente habilitado e se você não está dentro de outra máquina virtual sem virtualização aninhada.
Na interface do Docker Desktop, você pode visualizar o uso de CPU e memória dos seus contêineres , baixar imagens do Hub, iniciar contêineres a partir da busca integrada e, de modo geral, experimentar com o mínimo de interação pela linha de comando. No entanto, a contrapartida é a dependência obrigatória da virtualização de hardware Hyper-V.
Requisitos e limitações do Docker Desktop no Windows sem virtualização.
Por definição, o Docker Desktop no Windows exige que a virtualização esteja habilitada , seja para usar o Hyper-V ou para executar o pequeno ambiente WSL2 com seu kernel Linux. Esse requisito não é arbitrário: os contêineres Linux precisam de um kernel Linux e, no Windows, isso só pode ser fornecido por meio de uma máquina virtual.
Os requisitos mínimos típicos para instalar o Docker Desktop no Windows 10 incluem:
- CPU de 64 bits com SLAT e habilitou o suporte à virtualização de hardware.
- Pelo menos 4 GB de RAM para que o sistema e os contêineres possam respirar.
- Windows 10 Home, Pro ou Enterpriseou equivalente ao Windows 11.
- 20 GB ou mais de espaço em disco para a ferramenta em si, as imagens e os volumes.
- Hyper-V ou WSL2 ativado de acordo com a edição do Windows.
No Windows 10 Home, você só pode usar o Docker Desktop com um backend WSL2 , pois o Hyper-V completo não é suportado. Nas versões Pro e Enterprise, você tem opções, mas atualmente o WSL2 é geralmente a opção mais flexível e com melhor integração para desenvolvimento.
Se você não tiver virtualização de hardware disponível ou habilitada , a situação se complica: o Docker Desktop não iniciará corretamente e, mesmo que tente soluções alternativas, estará indo contra o design padrão da ferramenta. Nesse caso, a solução geralmente é usar outra máquina, um servidor Linux remoto ou, no mínimo, uma máquina virtual na nuvem.
Integre o Docker e o WSL2 com o Visual Studio Code e contêineres remotos.
Depois de ter contêineres em execução (seja com o Docker Engine no WSL2 ou com o Docker Desktop) , a maneira mais conveniente de desenvolver geralmente é com o Visual Studio Code e suas extensões para ambientes remotos.
O primeiro passo é instalar a extensão “WSL” no VS Code . Essa extensão permite abrir pastas localizadas na sua distribuição Linux (por exemplo, Ubuntu no WSL2) diretamente no VS Code, sem a necessidade de lidar com caminhos, permissões ou binários incompatíveis.
Instale também a extensão “Dev Containers” . Com ela, você pode abrir seu projeto dentro de um contêiner Docker e transformar esse contêiner em seu ambiente de desenvolvimento completo: dependências, versão do Python, Node, .NET, etc., tudo encapsulado.
Por fim, adicione a extensão “Docker” ao VS Code para gerenciar imagens, contêineres, logs e implantações diretamente da interface do editor, usando painéis laterais e comandos contextuais.
Um fluxo de trabalho típico seria clonar um projeto para sua distribuição WSL2 , por exemplo:
git clone https://github.com/<usuario>/mi-proyecto.git
cd mi-proyecto
A partir daí, você inicia o VS Code apontando para a pasta do projeto com:
code .
Na paleta de comandos do VS Code (Ctrl+Shift+P), selecione “Contêineres de desenvolvimento: Reabrir no contêiner”. para que o projeto seja reaberto dentro de um contêiner Docker definido por uma configuração. .devcontainerCaso não exista, a extensão sugerirá modelos com base no tipo de projeto (Python, Node, .NET, etc.).
Uma vez que o contêiner esteja criado e em execução, você terá um ambiente de desenvolvimento limpo e reproduzível , com o qual poderá depurar, executar testes, iniciar o servidor de desenvolvimento e abri-lo no navegador do Windows como se fosse um aplicativo local.
Problemas comuns e como resolvê-los
Se você já experimentou versões de pré-visualização do Docker para WSL,Você pode ter um contexto Docker chamado wsl que já está obsoleto e pode gerar erros como “open //./pipe/docker_wsl: O sistema não pode encontrar o arquivo especificado”.
Para verificar os contextos disponíveis, execute :
docker context ls
Se você vir um chamado wslVocê pode apagá-lo com total tranquilidade. vestindo:
docker context rm wsl
Outro problema comum é descobrir onde o Docker armazena os dados ao trabalhar com o WSL2 . Normalmente, você verá algo como:
\wsl$\docker-desktop\wsl$\docker-desktop-data
Para explorá-los a partir do Explorador de Arquivos do Windows , abra um terminal na sua distribuição WSL e execute o seguinte comando:
explorer.exe .
Se você navegar até a rota \\wsl\<Distro>\mnt\wsl (substituindo <Distro> pelo seu nome verdadeiro, por exemplo Ubuntu-24.04), você deverá conseguir ver as pastas onde o Docker Desktop armazena camadas de imagem e volumes.
Quando o Docker Desktop se recusa a iniciar ou fica "travado" , quase sempre está relacionado a um destes pontos: virtualização desativada na BIOS, serviços Hyper-V corrompidos, WSL2 desatualizado ou conflitos com outra ferramenta de virtualização que também tenta controlar o VT-x/AMD-V.
O que fazer se o seu hardware não suportar virtualização de hardware?
Se, após analisar a BIOS e a documentação, você descobrir que seu computador não suporta virtualização por hardware , as possibilidades ficam consideravelmente reduzidas e o Docker Desktop, em particular, não será uma opção viável no Windows.
Nesse caso, soluções razoáveis envolvem o uso de outra máquina ou da nuvem : um pequeno servidor Linux em sua rede local, uma instância com um provedor de nuvem barato ou até mesmo um laptop mais recente que ofereça VT-x/AMD-V. A partir da sua máquina Windows, você pode se conectar via SSH e usar o Docker Engine por lá.
Você também pode tentar a virtualização de software com ferramentas desatualizadas ou configurações experimentais , mas o desempenho será ruim e a estabilidade questionável. Pode ser suficiente para um ambiente de aprendizado muito básico, mas para qualquer coisa minimamente séria, é melhor não depender de tais soluções.
Na prática, se sua GPU for decente, mas sua CPU não suportar virtualização , você pode continuar trabalhando com ferramentas de desenvolvimento locais e reservar o Docker e os contêineres para um ambiente remoto. Não é tão conveniente, mas pelo menos você terá um ambiente compatível e de fácil manutenção.
Configurar um ambiente Docker Desktop razoável sem virtualização de hardware ativa no Windows é severamente limitado pelo design da ferramenta e pela necessidade de um kernel Linux em uma máquina virtual ; no entanto, combinando WSL2, o Docker Engine nativo no Linux, a integração com o Visual Studio Code e, quando o hardware permitir, o Hyper-V ou o WSL2 como backend do Docker Desktop, você pode ter um ambiente de contêineres poderoso, flexível e relativamente leve, mesmo em computadores domésticos, desde que aceite que a virtualização de hardware não é mais opcional, mas praticamente um requisito inicial.
Escritor apaixonado pelo mundo dos bytes e da tecnologia em geral. Adoro compartilhar meu conhecimento por meio da escrita, e é isso que farei neste blog, mostrar a vocês tudo o que há de mais interessante sobre gadgets, software, hardware, tendências tecnológicas e muito mais. Meu objetivo é ajudá-lo a navegar no mundo digital de uma forma simples e divertida.