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



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.

BASH
# 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.

100%
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
💡 Dica: Também existe uma versão do Docker Desktop disponível para Linux, mas a maioria das pessoas desenvolvedoras Linux prefere usar o Docker Engine diretamente — é mais leve e não possui uma camada adicional de virtualização.



4. Instruções de Instalação para Cada Plataforma

(1) Instalação no Windows

Pré-requisitos:

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)

BASH
# 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: ⭐)

BASH
# 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
⚠️ Nota: Ser integrante do grupo 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: ⭐⭐)

BASH
# 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"
💻 Saída:

TEXT 📖 Somente leitura
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: ⭐⭐)

BASH
# Listar todos os contextos Docker
docker context ls
💻 Saída:

TEXT 📖 Somente leitura
NAME                TYPE                DESCRIPTION
default *           moby                Current DOCKER_HOST based configuration
remote-server       moby                Remote Docker on 10.0.1.100
BASH
# 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: ⭐)

BASH
# 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

BASH
# ============================================
# 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
💻 Saída (trecho):

TEXT 📖 Somente leitura
# 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 de push ainda 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 version Você deve ver informações das seções Client e Server; ② docker info A 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 df para verificar o espaço usado e docker system prune para limpá-lo.


📖 Resumo


📝 Exercícios

  1. Problema Básico (Dificuldade: ⭐): Instale o Docker na sua máquina local, execute docker run hello-world e tire uma captura de tela da saída para salvá-la.
  2. 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.
  3. Desafio (Dificuldade: ⭐⭐⭐): Execute docker run -d -p 8080:80 nginx para iniciar o Nginx, use um navegador para visitar http://localhost:8080 para verificar se a página é exibida corretamente e, em seguida, use docker stop e docker rm para limpar os contêineres.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%