Docker: Instalando o Docker e Configurando o Ambiente
Última atualização: 2026-08-26
Instalar o Docker é mais fácil do que você imagina — seja usando Windows, Mac ou Linux, você pode ter um ambiente de contêiner totalmente funcional em 10 minutos.
1. O Que Você Vai Aprender
- Como Instalar o Docker em Várias Plataformas
- A Diferença Entre Docker Desktop e Docker Engine
- Configuração de Acelerador de Espelho (Mirror)
- Executando o Docker como uma Pessoa Usuária Sem Root
- Gerenciamento de Contexto do Docker
2. Uma História Real de uma Pessoa Líder Técnica de Equipe
(1) Desafio: As 15 pessoas têm circunstâncias diferentes
A equipe de Charlie tinha acabado de decidir adotar totalmente o Docker, mas Lisa, uma nova integrante da equipe, perguntou: "Devo instalar o Docker Desktop ou o Docker Engine? O processo de instalação é o mesmo no Mac e no Linux?" A equipe de 15 pessoas usava quatro sistemas operacionais diferentes (Windows, Mac, Ubuntu e CentOS), e o processo de instalação variava para cada um; só a configuração do ambiente levou dois dias.
(2) Implementando o Algoritmo de Árvore de Decisão
Charlie desenhou uma árvore de decisão de instalação — 3 tipos de SO × 2 modos — e colocou a equipe para funcionar em 15 minutos.
# Verificar a instalação do Docker após a configuração
docker run hello-world
(3) Benefícios: Um ambiente unificado e sem atritos
Depois que a equipe concluiu a instalação unificada, a saída do docker version de todas as pessoas ficou consistente, e o número de problemas relacionados ao ambiente caiu de 5 por semana para 0.
3. Docker Desktop vs Docker Engine
Antes de instalar o Docker, certifique-se de entender as diferenças entre as duas distribuições.
graph TB
START["Selecionar Versão do Docker"] --> OS{"Seu sistema<br/>operacional?"}
OS -->|Windows / Mac| DT["Docker Desktop<br/>com GUI + VM + CLI"]
OS -->|Servidor Linux| DE["Docker Engine<br/>Serviços CLI Puros"]
DT --> DEV["✅ Recomendado para Ambientes de Desenvolvimento"]
DE --> PROD["✅ Recomendado para Ambientes de Produção"]
(1) Comparação das Duas Distribuições
| Dimensão | Docker Desktop | Docker Engine |
|---|---|---|
| Componentes Incluídos | CLI + Daemon + GUI + VM | CLI + Daemon (serviço de fundo puro) |
| Plataformas Suportadas | Windows / Mac / Linux | Somente Linux |
| Uso de Recursos | Alto (2–4 GB, incluindo máquinas virtuais) | Baixo (roda diretamente no kernel do hospedeiro) |
| Gerenciamento por GUI | ✅ Possui painel de controle | ❌ Somente linha de comando |
| Casos de Uso | Computador pessoal da pessoa desenvolvedora | Ambiente de servidor/CI |
| Preço | Gratuito para pessoas físicas, pago para empresas | Totalmente gratuito (versão CE) |
(2) Processo de Tomada de Decisão para Instalação
| Requisito | Versão Recomendada |
|---|---|
| Desenvolvimento em Windows / Mac | Docker Desktop |
| Desenvolvimento em Linux Desktop | Docker Desktop (requer GUI) ou Engine |
| Produção em Servidor Linux | Docker Engine |
| Nós de Build CI/CD | Docker Engine |
4. Instruções de Instalação para Cada Plataforma
(1) Instalação no Windows
Pré-requisitos:
- Windows 10 64-bit (versão 1903 ou superior) ou Windows 11
- Habilitar WSL2 (Windows Subsystem for Linux 2)
- Habilitar Hyper-V (opcional; o modo WSL2 é recomendado)
Etapas de Instalação:
| Etapa | Ação |
|---|---|
| 1 | Baixar o Docker Desktop para Windows (docker.com/products/docker-desktop) |
| 2 | Clique duas vezes no instalador e certifique-se de que "Use WSL 2 instead of Hyper-V" está marcado |
| 3 | Reinicie o computador após a instalação |
| 4 | Inicie o Docker Desktop e aguarde o status mudar para "Running" |
| 5 | Abra o terminal para verificar: docker version |
(2) Instalação no Mac
| Etapa | Ação |
|---|---|
| 1 | Baixe o Docker Desktop para Mac (selecione "amd64" para chips Intel e "arm64" para Apple Silicon) |
| 2 | Arraste o Docker.app para a pasta Aplicativos |
| 3 | Inicie o Docker.app e aguarde o ícone da baleia na barra de menu ficar estável |
| 4 | Verificação no Terminal: docker version |
(3) Instalação no Linux (Ubuntu/Debian)
# 1. Atualizar índice de pacotes
sudo apt-get update
# 2. Instalar pré-requisitos
sudo apt-get install -y ca-certificates curl gnupg
# 3. Adicionar chave GPG oficial do Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 4. Adicionar repositório do Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. Instalar o Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 6. Iniciar o Docker
sudo systemctl start docker
sudo systemctl enable docker
# 7. Verificar
sudo docker run hello-world
5. Configuração para Pessoas Usuárias Sem Root
Por padrão, apenas a pessoa usuária root e integrantes do grupo docker podem executar o Docker no Linux.
▶ Exemplo: Adicionar a pessoa usuária atual ao grupo docker (Dificuldade: ⭐)
# Adicionar pessoa usuária atual ao grupo docker
sudo usermod -aG docker $USER
# Aplicar alteração de grupo (ou sair e entrar novamente)
newgrp docker
# Verificar: executar docker sem sudo
docker run hello-world
docker equivale a ter privilégios de root (porque os contêineres podem montar qualquer diretório no hospedeiro). Em um ambiente de produção, a participação no grupo docker deve ser estritamente controlada.
6. Configuração de Acelerador de Espelho (Mirror Accelerator)
Acessar o Docker Hub de dentro da China pode ser lento, mas configurar um acelerador de imagens pode melhorar significativamente as velocidades de pull.
(1) Aceleradores de Espelho Populares
| Acelerador | Endereço | Descrição |
|---|---|---|
| Alibaba Cloud | https://<seu-id>.mirror.aliyuncs.com |
Faça login para obter seu link exclusivo |
| USTC | https://docker.mirrors.ustc.edu.cn |
Gratuito, sem necessidade de registro |
| NetEase | https://hub-mirror.c.163.com |
Gratuito |
| Docker Oficial | https://registry.docker.io |
Padrão, velocidades rápidas do exterior |
▶ Exemplo: Configurando um Acelerador de Espelho no Linux (Dificuldade: ⭐⭐)
# Criar ou editar a configuração do Docker daemon
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF
# Reiniciar o Docker para aplicar as alterações
sudo systemctl daemon-reload
sudo systemctl restart docker
# Verificar a configuração
docker info | grep -A 5 "Registry Mirrors"
Registry Mirrors:
https://docker.mirrors.ustc.edu.cn/
https://hub-mirror.c.163.com/
▶ Exemplo: Configurando o Acelerador de Imagens no Docker Desktop (Dificuldade: ⭐)
Para configurar na GUI do Docker Desktop: Settings → Docker Engine → Adicione o array registry-mirrors ao JSON → Apply & Restart.
Ou edite o arquivo de configuração diretamente (Mac: ~/.docker/daemon.json, Windows: C:\Users\<user>\.docker\daemon.json).
7. Gerenciamento de Contexto do Docker
Os contextos do Docker permitem alternar rapidamente entre vários hosts Docker — como sua instância Docker local e um servidor remoto.
▶ Exemplo: Visualizando e Alternando Contextos Docker (Dificuldade: ⭐⭐)
# Listar todos os contextos Docker
docker context ls
NAME TYPE DESCRIPTION
default * moby Current DOCKER_HOST based configuration
remote-server moby Remote Docker on 10.0.1.100
# Criar um novo contexto para um host Docker remoto
docker context create remote-server --docker "host=ssh://user@10.0.1.100"
# Alternar para o contexto remoto
docker context use remote-server
# Verificar: agora todos os comandos docker rodam no servidor remoto
docker ps
# Voltar para o local
docker context use default
▶ Exemplo: Verificando o Sucesso da Instalação (Dificuldade: ⭐)
# Checklist completo de verificação
docker version # Versões do Client + Server
docker info # Informações do sistema
docker run hello-world # Teste de ponta a ponta
8. Solução de Problemas Comuns de Instalação
| Problema | Causa | Solução |
|---|---|---|
Cannot connect to the Docker daemon |
Serviço Docker não está rodando | sudo systemctl start docker |
permission denied while trying to connect |
A pessoa usuária não está no grupo docker | sudo usermod -aG docker $USER |
WSL2 installation is incomplete (Windows) |
WSL2 não instalado corretamente | wsl --install Reinicie em seguida |
docker: command not found |
Docker não está incluído no PATH | Reinstale ou adicione manualmente ao PATH |
| Timeout na Recuperação do Espelho | Problemas de Rede | Configure o Acelerador de Espelho |
9. Exemplo Completo: Configurando um Ambiente Docker em um Servidor Ubuntu do Zero
# ============================================
# Passo a passo completo: Instalar Docker no Ubuntu
# Abrange: instalação, sem sudo, espelho, verificação
# ============================================
# 1. Instalar Docker Engine
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 2. Iniciar e habilitar o serviço Docker
sudo systemctl start docker
sudo systemctl enable docker
# 3. Adicionar pessoa usuária atual ao grupo docker (sem mais sudo)
sudo usermod -aG docker $USER
newgrp docker
# 4. Configurar espelho de registro para pulls mais rápidos
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 5. Verificar: executar Nginx e acessá-lo
docker run -d -p 8080:80 --name test-nginx nginx:latest
curl http://localhost:8080
# 6. Limpar
docker stop test-nginx
docker rm test-nginx
# docker run -d -p 8080:80 --name test-nginx nginx:latest
a1b2c3d4e5f6...
# curl http://localhost:8080
<!DOCTYPE html>
<html><head><title>Welcome to nginx!</title>...
❓ Perguntas Frequentes
P: O Docker Desktop é gratuito? R: É gratuito para uso pessoal e pequenas empresas (<250 funcionários, <10 milhões de USD em receita anual). Grandes empresas precisam adquirir uma assinatura Docker Business (a partir de $24 por pessoa usuária por mês). O Docker Engine (versão Linux) é sempre gratuito e de código aberto.
P: Por que o Engine é recomendado em vez do Desktop no Linux? R: O Docker Engine roda diretamente no kernel do hospedeiro sem uma camada adicional de virtualização, resultando em menor consumo de recursos e melhor desempenho. O Desktop requer a execução de uma máquina virtual no Linux para fornecer uma GUI, o que adiciona uma camada extra de sobrecarga. Como ambientes de servidor não exigem GUI, o Engine é a escolha mais adequada.
P: Os aceleradores de espelho são seguros? R: Os aceleradores convencionais (Alibaba Cloud, USTC, NetEase) são todos proxies CDN confiáveis que apenas armazenam em cache imagens oficiais sem modificar seu conteúdo. No entanto, esses aceleradores apenas aceleram operações de
pull; operações depushainda passam pelo caminho original do Docker Hub. Internamente, recomendamos configurar um registro privado.
P: Como verifico se o Docker foi instalado com sucesso? R: Verificação em três etapas: ①
docker versionVocê deve ver informações das seções Client e Server; ②docker infoA saída deve ser exibida normalmente; ③docker run hello-world"Hello from Docker!" deve ser exibido. Se as três etapas passarem, a instalação está completa.
P: Como escolher entre WSL2 e Hyper-V? R: Escolha WSL2 primeiro — ele inicia mais rápido, usa memória de forma mais dinâmica e integra-se melhor com o Windows. Use Hyper-V apenas quando o WSL2 não estiver disponível (como em versões mais antigas do Windows 10). O Docker Desktop recomenda o modo WSL2 por padrão.
P: Quanto espaço em disco o Docker ocupa após a instalação? R: O Docker Engine ocupa cerca de 300 MB, e o Docker Desktop (incluindo a máquina virtual) ocupa cerca de 2–4 GB. À medida que você baixa imagens e cria contêineres, o espaço usado continuará crescendo. Você pode usar
docker system dfpara verificar o espaço usado edocker system prunepara limpá-lo.
📖 Resumo
- Docker Desktop é adequado para desenvolvimento em Windows e Mac (com GUI), enquanto Docker Engine é adequado para servidores Linux (apenas CLI)
- Para Windows, use o modo WSL2; para Mac, selecione a versão apropriada com base em se o seu sistema usa Intel ou Apple Silicon
- Use os repositórios oficiais APT/YUM para instalação no Linux; não use as versões desatualizadas que vêm com o sistema.
- Adicionar uma pessoa usuária ao grupo docker permite executar o Docker sem usar sudo
- Configure um acelerador de espelho para resolver o acesso lento ao Docker Hub dentro da China
- O Docker Context permite alternar rapidamente entre hosts Docker locais e remotos
📝 Exercícios
- Problema Básico (Dificuldade: ⭐): Instale o Docker na sua máquina local, execute
docker run hello-worlde tire uma captura de tela da saída para salvá-la. - Exercício Avançado (Dificuldade: ⭐⭐): Configure um acelerador de espelho doméstico e execute
docker info | grep -A 5 "Registry Mirrors"para verificar se a configuração está funcionando. - Desafio (Dificuldade: ⭐⭐⭐): Execute
docker run -d -p 8080:80 nginxpara iniciar o Nginx, use um navegador para visitarhttp://localhost:8080para verificar se a página é exibida corretamente e, em seguida, usedocker stopedocker rmpara limpar os contêineres.