Conteúdo
Instalar Docker (Windows, macOS e Linux)
A instalação do Docker varia conforme o sistema operacional:
| Sistema | O que instalar | Descrição |
|---|---|---|
| Windows | Docker Desktop | Executa em segundo plano um ambiente Linux pelo WSL 2 para rodar o Docker Engine |
| macOS | Docker Desktop | Inclui uma máquina virtual Linux leve |
| Linux | Docker Engine | Instala diretamente, sem precisar de máquina virtual; você também pode optar por instalar o Docker Desktop for Linux |
O Docker Desktop é gratuito para uso pessoal, educação, projetos de código aberto não comerciais e pequenas empresas (menos de 250 funcionários e receita anual inferior a US$ 10 milhões); empresas maiores precisam de uma assinatura paga. O Docker Engine no Linux é um software de código aberto e não está sujeito a essa condição.
Windows
1. Confira os requisitos do sistema
- Windows 10 22H2 (build 19045) ou Windows 11 23H2 (build 22631) ou superior, 64 bits
- Pelo menos 8 GB de memória
- CPU compatível com virtualização, ativada no BIOS / UEFI
Pressione Win + R e digite winver para consultar a versão e o número do build do Windows.
2. Confira se a virtualização está ativada
Abra “Gerenciador de Tarefas” → “Desempenho” → “CPU”. No canto inferior direito, Virtualization (Virtualização) deve aparecer como Enabled (Ativada):

Se aparecer “Desativada”, reinicie o computador, entre na configuração do BIOS / UEFI e ative Intel VT-x ou AMD-V (SVM). (O nome da opção varia conforme o fabricante da placa-mãe.)
3. Instale ou atualize o WSL 2
Abra o PowerShell como administrador e execute:
wsl --install
Se você já instalou o WSL, atualize-o para a versão mais recente:
wsl --update
wsl --version
A versão do WSL exibida por wsl --version precisa ser 2.1.5 ou superior. Após a instalação, reinicie o computador quando solicitado.
Você também pode confirmar se estas duas opções estão marcadas em “Painel de Controle → Programas e Recursos → Ativar ou desativar recursos do Windows”:

4. Instale o Docker Desktop
- Baixe Docker Desktop for Windows no site oficial do Docker (em computadores comuns, escolha x86_64 / AMD64; em computadores ARM, como o Surface, escolha ARM64).
- Execute
Docker Desktop Installer.exe. - Na tela de configuração, mantenha marcada a opção Use WSL 2 instead of Hyper-V (recommended).
- Quando a instalação terminar, clique em Close e, se solicitado, saia da sessão ou reinicie o computador.
5. Inicie pela primeira vez
- Abra o Docker Desktop pelo menu Iniciar.
- Leia e aceite os termos de serviço.
- Você pode entrar na sua conta Docker ou ignorar esta etapa (Skip). Não é necessário entrar para seguir este tutorial.
- Quando o Engine aparecer como em execução (verde) no canto inferior esquerdo, a instalação estará concluída.
Enquanto o Docker Desktop estiver em execução, você poderá usar diretamente o comando docker no PowerShell, no Prompt de Comando e no terminal do WSL. Em seguida, pule para Confirme se a instalação foi bem-sucedida, mais abaixo.
macOS
1. Confira o tipo de chip
Clique no menu Apple, no canto superior esquerdo → “Sobre Este Mac”:
- Se “Chip” mostrar Apple M series, baixe a versão Apple Silicon
- Se “Processador” mostrar Intel, baixe a versão Intel chip
Requisitos do sistema: uma das três versões principais mais recentes do macOS e pelo menos 4 GB de memória.
2. Instale
- Baixe no site oficial do Docker o arquivo
Docker.dmgcorrespondente. - Abra
Docker.dmge arraste o ícone do Docker para a pasta “Aplicativos”. - Abra o Docker em “Aplicativos”. Na primeira abertura, o sistema perguntará se você permite a execução; escolha “Abrir”.
- Aceite os termos de serviço e siga as instruções para digitar a senha do Mac e autorizar a instalação dos componentes necessários.
- Quando o ícone da baleia aparecer na barra de menus e o Docker Desktop mostrar que o Engine está em execução, a instalação estará concluída.
No Apple Silicon, recomendamos instalar também o Rosetta 2, necessário para algumas ferramentas disponíveis apenas na versão Intel:
softwareupdate --install-rosetta
Linux (Ubuntu)
No Linux, instale o Docker Engine diretamente. Os passos abaixo foram executados no Ubuntu 26.04 LTS e são exatamente os mesmos no Ubuntu 24.04 (o comando detecta automaticamente o codinome da versão do sistema).
1. Remova pacotes antigos ou conflitantes
Os repositórios incluídos no Ubuntu também oferecem pacotes como docker.io. Eles são mais antigos e entram em conflito com a versão oficial. Remova-os primeiro (se não estiverem instalados, não haverá problema):
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
2. Adicione o repositório oficial do Docker
sudo apt-get update
sudo apt-get install -y ca-certificates curl
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
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
Depois de adicioná-lo, execute sudo apt-get update. A saída deve mostrar o repositório de pacotes download.docker.com (trecho; resolute é o codinome do Ubuntu 26.04; no 24.04, será exibido noble):
$ sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu resolute InRelease [32.5 kB]
Get:2 https://download.docker.com/linux/ubuntu resolute/stable amd64 Packages [33.2 kB]
3. Instale o Docker Engine
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
| Pacote | Conteúdo |
|---|---|
docker-ce | Docker Engine (dockerd) |
docker-ce-cli | Ferramenta de linha de comando docker |
containerd.io | Ambiente de execução de contêineres de baixo nível |
docker-buildx-plugin | Ferramenta de build do docker buildx/BuildKit |
docker-compose-plugin | docker compose |
Abaixo estão a saída real da instalação (trecho) e as versões após a instalação:
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Need to get 128 MB of archives.
After this operation, 511 MB of additional disk space will be used.
Setting up docker-buildx-plugin (0.38.0-1~ubuntu.26.04~resolute) ...
Setting up containerd.io (2.4.1-2~ubuntu.26.04~resolute) ...
Setting up docker-compose-plugin (5.6.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-cli (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-rootless-extras (5:29.9.0-1~ubuntu.26.04~resolute) ...
$ docker --version
Docker version 29.9.0, build f415da8
$ docker compose version
Docker Compose version v5.6.0
$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
$ containerd --version
containerd containerd v2.4.1 f2551031d7276a770f65f98c9b52e57e7dad07e8
Após a instalação, o serviço do Docker será iniciado automaticamente e configurado para iniciar junto com o sistema. Você pode confirmar isso com systemctl:
sudo systemctl status docker
Se o status mostrar active (running), significa que o serviço está em execução.
4. Permita que usuários comuns também executem docker
Logo após a instalação, somente o root pode usar o Docker. Se um usuário comum executar o comando docker, ocorrerá um erro de permissão:
$ docker ps
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
Adicione sua conta ao grupo docker:
sudo usermod -aG docker $USER
A alteração entra em vigor depois que você sair da sessão e entrar novamente (ou executar newgrp docker).
Fazer parte do grupo
dockerequivale a ter privilégios de root (você pode criar contêineres que montam o sistema inteiro). Faça isso somente para contas confiáveis.
Confirme se a instalação foi bem-sucedida
Em qualquer sistema, abra o terminal (no Windows, use o PowerShell) e execute:
$ docker version
Client:
Version: 29.9.0
API version: 1.56
Go version: go1.26.9
Git commit: f415da8
Built: Thu Oct 8 20:36:58 2026
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.9.0
API version: 1.56 (minimum version 1.40)
Go version: go1.26.9
Git commit: a5b58c9
Built: Thu Oct 8 20:39:33 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.4.1
GitCommit:
runc:
Version: 1.5.2
GitCommit: v1.5.2-0-g29dd3dc
docker-init:
Version: 0.19.0
GitCommit: de40ad0
O importante é ver as duas seções, Client e Server (no Windows e no macOS, o Client mostrará windows/amd64 ou darwin/arm64; o Server será sempre linux, porque o Docker Engine é executado no ambiente Linux do Docker Desktop):
- Client: a ferramenta de linha de comando
dockerque você usa - Server: o Docker Engine em execução em segundo plano
Se a seção Server exibir uma mensagem de erro, o Engine não está em execução. Consulte os problemas comuns abaixo.
Em seguida, execute seu primeiro contêiner:
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
Digest: sha256:5e23090353324d887c48ad5e5c56d294eab81588df9605b07d1afe895f9cc8f8
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
A saída descreve as quatro etapas que acabaram de ocorrer: o CLI entrou em contato com o Engine → o Engine baixou a imagem hello-world do Docker Hub → criou um contêiner com ela e o executou → enviou a saída de volta ao seu terminal.
Por fim, confirme o Compose e o Buildx:
$ docker compose version
Docker Compose version v5.6.0
$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
Solução de problemas
failed to connect to the docker API
Em versões antigas do Docker, a mensagem era Cannot connect to the Docker daemon. No Docker 29, ela mudou para:
$ docker ps
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory
Isso significa que o Docker Engine não está em execução.
-
Windows / macOS: abra o Docker Desktop e aguarde até que ele indique que o Engine está em execução.
-
Linux: inicie o serviço e configure-o para iniciar junto com o sistema:
sudo systemctl start docker sudo systemctl enable docker
permission denied while trying to connect to the docker API
Problema de permissões no Linux (veja a mensagem de erro real na etapa 4 acima). Adicione sua conta ao grupo docker e saia da sessão e entre novamente. Executar apenas usermod sem entrar novamente não aplica a alteração do grupo.
Windows: WSL 2 installation is incomplete
O WSL não está instalado ou está desatualizado. Execute wsl --update como administrador, reinicie o computador e abra o Docker Desktop novamente.
Windows: suporte à virtualização não detectado
A virtualização não está ativada no BIOS / UEFI. Consulte a etapa 2 do Windows acima.
Resumo
- Instale o Docker Desktop no Windows e no macOS; instale o Docker Engine em servidores Linux.
- No Windows, é necessário ativar a virtualização da CPU e usar o WSL 2.1.5 ou superior.
docker versionsó indica que o Engine está em execução quando mostra Client e Server.- No Linux, usuários comuns precisam ser adicionados ao grupo
docker, o que equivale a conceder permissões de root.
Exercícios
Exercício 1: execute docker version e encontre a versão do Docker Engine e o OS/Arch do Server.
Dica
Consulte Version e OS/Arch na seção Server: Docker Engine. No Windows e no macOS, o Server sempre é linux/amd64 ou linux/arm64, porque o Engine é executado na máquina virtual Linux do Docker Desktop.
Exercício 2: depois de executar docker run hello-world, execute docker ps -a. Por que você vê um contêiner que já foi encerrado?
Resposta
hello-world termina depois de imprimir uma mensagem. O contêiner para, mas não é removido. Se você executar com --rm, ele será removido automaticamente ao terminar. Consulte Ciclo de vida do contêiner.
Perguntas frequentes
É possível instalar o Docker Desktop na edição Home do Windows?
Sim. O Docker Desktop usa o WSL 2, compatível também com as edições Home do Windows 10 / 11, desde que a versão e o build atendam aos requisitos e a virtualização da CPU esteja ativada.
No Linux, devo instalar o Docker Desktop ou o Docker Engine?
Em servidores, instale sempre o Docker Engine. Em desktops Linux, ambos funcionam; os comandos deste tutorial servem para os dois ambientes.
Após a instalação, ao executar docker aparece permission denied. O que fazer?
No Linux, usuários comuns precisam ser adicionados ao grupo docker e fazer login novamente. Consulte neste capítulo a seção “Permitir que usuários comuns também executem o docker”.
Atualizado 14 de outubro de 2026