Como Instalar o Docker no Ubuntu: Guia Completo e Amigável para Iniciantes (Método Oficial)

.

目次

1. Introdução

Ao montar um ambiente de desenvolvimento no Ubuntu, situações em que você pensa “vamos apenas instalar o Docker por enquanto” tornaram‑se cada vez mais comuns. Aplicações web, processamento em lote, bancos de dados de teste, middleware de teste… Se você instala tudo isso manualmente a cada vez, um enorme volume de tempo e esforço é consumido apenas para a configuração do ambiente.

É aqui que a tecnologia de virtualização por contêineres Docker se mostra extremamente útil. Com o Docker, você pode gerenciar não apenas a aplicação em si, mas também todas as bibliotecas e configurações necessárias como uma única “imagem”. Uma vez que o Docker esteja instalado no Ubuntu, você pode facilmente:

  • Iniciar um novo ambiente de desenvolvimento em minutos
  • Garantir que todos os membros da equipe reproduzam o comportamento no mesmo ambiente
  • Recriar localmente uma configuração semelhante à de produção com facilidade

Esses benefícios podem ser aproveitados com esforço mínimo.

Por outro lado, para quem está usando o Docker pela primeira vez, há muitos pontos de tropeço comuns:

  • Não saber qual procedimento de instalação é realmente o correto
  • Não entender a diferença entre o repositório padrão do Ubuntu e o repositório oficial do Docker
  • Encontrar erros de permissão devido à confusão sobre quando usar sudo

Quando você pesquisa por “ubuntu install docker”, encontrará muitos artigos listando longas sequências de comandos, mas eles frequentemente deixam de explicar por que essas etapas são necessárias ou o que caracteriza uma instalação completa.

1-1. Objetivo deste Artigo

Este artigo destina‑se a leitores que desejam instalar o Docker no Ubuntu e cobre os seguintes pontos principais:

  • O procedimento atualmente mais comum para instalar o Docker no Ubuntu
  • Um método de instalação mais gerenciável usando o repositório oficial
  • Como executar o comando docker sem sudo
  • Verificação pós‑instalação e comandos básicos essenciais
  • Uma introdução às ferramentas mais usadas, como o Docker Compose

Em vez de simplesmente listar comandos, este guia explica por que cada passo é necessário, ajudando‑o a manter seu ambiente mais facilmente no futuro.

1-2. Público‑Alvo e Pré‑requisitos

Este artigo destina‑se a leitores que:

  • Entendem as operações básicas do Ubuntu (abrir um terminal, usar o comando apt, etc.)
  • São desenvolvedores ou engenheiros em início de carreira que estão experimentando o Docker pela primeira vez
  • Estão considerando migrar ambientes de teste existentes para contêineres

Conhecimento avançado de administração Linux não é necessário. Desde que você se sinta confortável digitando comandos em um terminal, este guia será suficiente.

1-3. Estrutura do Artigo e Como Lê‑lo

Este artigo segue a ordem abaixo:

  • Verificação de pré‑requisitos
  • Métodos de instalação (repositório oficial / script)
  • Configurações de permissão e verificação
  • Instalação do Docker Compose
  • Solução de problemas e próximos passos

Você pode ler o artigo do início ao fim, ou, se o Docker já estiver instalado, pode focar apenas nas seções “Permissões” ou “Compose”.

2. Pré‑requisitos e Preparação

Instalar o próprio Docker é relativamente simples, mas dependendo da sua versão do Ubuntu ou do ambiente já existente, há vários pontos que vale a pena conferir antes. Esta seção resume os pré‑requisitos e preparações necessários para uma instalação tranquila.

2-1. Versões do Ubuntu Compatíveis

O Docker funciona em muitas versões do Ubuntu, mas as seguintes versões LTS são as mais utilizadas:

  • Ubuntu 22.04 LTS (Recomendado)
  • Ubuntu 20.04 LTS
  • Ubuntu 24.04 LTS (Mais recente)

Versões LTS (Long Term Support) oferecem estabilidade a longo prazo, tornando‑as ideais para manter ambientes de desenvolvimento baseados em Docker.

Versões não‑LTS (como 23.10) também podem ser usadas, porém as versões LTS são geralmente preferidas em ambientes profissionais.

2-2. Pacotes Docker Pré‑instalados

.O repositório padrão do Ubuntu inclui um pacote chamado docker.io. No entanto, esse não é o pacote oficial do Docker fornecido pela Docker Inc., e as atualizações costumam ficar atrasadas. Portanto, a instalação do Docker a partir do repositório oficial é altamente recomendada.

Primeiro, verifique e remova quaisquer pacotes relacionados ao Docker, se necessário:

sudo apt remove docker docker.io containerd runc

Se a mensagem indicar que nada está instalado, nenhuma ação é necessária.

2-3. Atualizando o APT e Instalando Pacotes Necessários

Antes de adicionar o repositório oficial do Docker, atualize o APT e instale as ferramentas necessárias:

sudo apt update
sudo apt install -y ca-certificates curl gnupg

Essas ferramentas são necessárias para adicionar a chave GPG e o repositório do Docker de forma segura.

2-4. Verificando Privilégios de Administrador (sudo)

A instalação do Docker requer privilégios sudo. Se sua conta não possuir acesso sudo, troque para uma conta de administrador ou solicite permissão.

Você pode verificar o acesso sudo com o seguinte comando:

sudo -v

Se for solicitado uma senha e o comando for bem‑sucedido, você está pronto para prosseguir.

2-5. Verificando a Conectividade de Rede

Instalar o Docker requer acesso a repositórios externos, portanto uma conexão à internet ativa é obrigatória. Em ambientes corporativos ou com proxy, a obtenção da chave GPG pode falhar devido a restrições de acesso.

Nesses casos, consulte o administrador de rede sobre as configurações de proxy ou listas de permissões.

2-6. Escolhendo o Método de Instalação

Existem três maneiras principais de instalar o Docker:

  1. Instalar via repositório oficial do Docker (Recomendado)
  2. Usar o script de instalação get.docker.com (Rápido e fácil)
  3. Baixar e instalar manualmente os pacotes .deb do Docker (Casos especiais)

Este artigo foca principalmente no método do repositório oficial, que é o mais comum e fácil de manter.

3. Instalando o Docker

Agora vamos instalar o Docker no Ubuntu. Embora existam múltiplos métodos de instalação, este guia concentra‑se no método do repositório oficial do Docker, que é o mais confiável e amplamente usado em ambientes de produção.

Esse método permite atualizações estáveis via apt upgrade, tornando‑o ideal para uso a longo prazo.

3-1. Adicionando o Repositório Oficial do Docker (Recomendado)

Primeiro, registre a chave GPG oficial fornecida pelo Docker e adicione o repositório do Docker ao APT.
Uma vez configurado corretamente, você evita a instalação acidental do pacote desatualizado docker.io do repositório padrão do Ubuntu.

3-1-1. Registrando a Chave GPG

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
  • /etc/apt/keyrings/ é o local recomendado para armazenamento de chaves no Ubuntu 22.04 e posteriores
  • --dearmor converte a chave para o formato binário

Esta etapa permite que o APT confie no repositório oficial do Docker.

3-1-2. Adicionando o Repositório

Em seguida, adicione o repositório do Docker à lista de fontes do APT.

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

Pontos principais:

  • $(. /etc/os-release && echo $VERSION_CODENAME) insere automaticamente o codinome correto do Ubuntu (como jammy ou focal)
  • Apenas o repositório estável é adicionado

3-1-3. Atualizando as Informações do Repositório

Após adicionar o repositório, atualize o índice do APT.

sudo apt update

Neste ponto, docker-ce (Docker Engine) deve aparecer como um pacote instalável.

3-2. Instalando o Docker Engine

Agora instale os principais pacotes do Docker.

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Papéis dos pacotes:

. docker-ce : núcleo do Docker Engine
docker-ce-cli : interface de linha de comando do Docker
containerd.io : runtime de contêineres principal usado pelo Docker
docker-buildx-plugin : recursos avançados de build, como builds multi‑plataforma
docker-compose-plugin* : Docker Compose V2 (comando docker compose)

Após a instalação, o daemon do Docker inicia automaticamente.

3-3. Verificando a Instalação

Verifique o status de execução do Docker com o comando a seguir:

sudo systemctl status docker

Se aparecer active (running), o Docker está funcionando corretamente.

Pressione q para sair da visualização de status.

3-4. Opcional: Instalação via Script para Conveniência

O Docker também fornece um script de instalação tudo‑em‑um.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Vantagens:

  • Menos comandos e configuração rápida
  • Ideal para ambientes simples ou descartáveis

Desvantagens:

  • Controle de versão mais difícil
  • Geralmente desaconselhado para produção ou uso a longo prazo

Embora conveniente para iniciantes, este artigo prioriza a manutenibilidade e, portanto, foca no método do repositório oficial.

3-5. Observações para as Últimas Versões do Ubuntu (ex.: 24.04)

Imediatamente após um lançamento maior do Ubuntu, o repositório oficial do Docker pode ainda não oferecer suporte total à nova versão.
Nesses casos, verifique o seguinte:

  • Se o local e o formato da chave GPG correspondem às especificações atuais
  • Se VERSION_CODENAME é oficialmente suportado
  • Se não ocorrem erros de assinatura durante apt update

Se o suporte for adiado, usar temporariamente o script get.docker.com pode ser uma solução prática.

4. Permissões de Usuário e Execução do Docker sem sudo

Depois de instalar o Docker, você pode querer começar a usar o comando docker imediatamente. Contudo, por padrão, você deve prefixar todo comando com sudo.

Esse comportamento é intencional por razões de segurança, mas é inconveniente para o desenvolvimento diário ou aprendizado. Para resolver isso, você pode adicionar seu usuário ao grupo docker, permitindo que os comandos do Docker sejam executados sem sudo.

4-1. Por que Executar sem sudo é Importante

No Ubuntu, o daemon do Docker (dockerd) roda com privilégios de root.
Portanto, criar ou remover contêineres via comando docker normalmente requer acesso root.

O grupo docker existe para atender a essa necessidade.

  • Usuários desse grupo podem acessar diretamente o daemon do Docker
  • Isso permite comandos como docker run sem sudo
  • Essa configuração é quase essencial para uso em desenvolvimento

Observe que o grupo docker efetivamente concede privilégios quase equivalentes aos de root, portanto, é preciso cautela em ambientes compartilhados.
(Para desktops pessoais ou WSL2, isso geralmente não é um problema.)

4-2. Adicionando Seu Usuário ao Grupo docker

Adicione o usuário atualmente logado ao grupo docker:

sudo usermod -aG docker $USER

Esse comando acrescenta o usuário ao grupo. A opção -aG significa append to group (acrescentar ao grupo).

4-3. Aplicando as Alterações

As mudanças de associação ao grupo entram em vigor após logout e login novamente.

Para aplicar a alteração imediatamente, você pode também executar:

newgrp docker

Isso inicia uma nova sessão de shell com as permissões do grupo docker aplicadas.

4-4. Verificando a Execução sem sudo

Agora teste o Docker sem sudo:

docker run hello-world

Saída bem‑sucedida:

  • Hello from Docker!
  • A imagem foi baixada e a mensagem exibida

Se ocorrer um erro, verifique o seguinte:

  • Você fez logout e login novamente após modificar a associação ao grupo?
  • O caminho /usr/bin/docker está sendo usado?
  • O daemon do Docker está em execução (systemctl status docker )?

4-5. Considerações de Segurança (Importante)

O grupo docker fornece privilégios poderosos que são efetivamente equivalentes ao acesso root.

  • Leitura de arquivos arbitrários
  • Montagem de diretórios do host em contêineres
  • Execução de operações de rede
  • Controle a nível de sistema via o socket do Docker

.

Isso é aceitável para sistemas pessoais, mas o gerenciamento de usuários é crítico em servidores compartilhados.

Nesses casos, você pode considerar Docker sem root, que é abordado nas seções posteriores.

5. Verificação de Inicialização e Operação

Depois que a instalação do Docker e a configuração de permissões estiverem concluídas, o próximo passo é verificar se o Docker está operando corretamente.
Esta seção explica como checar o status do serviço Docker e realmente executar contêineres.

5-1. Verificando o Status do Daemon do Docker

Primeiro, verifique se o Docker está sendo executado corretamente em segundo plano.

sudo systemctl status docker

Indicadores de status chave:

  • active (running) → Operando normalmente
  • inactive → Não está em execução (deve ser iniciado manualmente)
  • failed → Erro de configuração ou dependência

Se o status for inactive ou failed, inicie o Docker com o seguinte comando:

sudo systemctl start docker

Para garantir que o Docker inicie automaticamente quando o SO for inicializado:

sudo systemctl enable docker

5-2. Verificando a Operação com o Contêiner hello-world

A forma mais comum de validar a instalação do Docker é executando a imagem oficial hello-world.

docker run hello-world

Este comando realiza as seguintes ações:

  1. Baixa a imagem do Docker Hub caso ela não esteja presente localmente
  2. Inicia um contêiner a partir da imagem
  3. Exibe uma mensagem de teste e sai

Se for bem‑sucedido, você verá uma saída semelhante ao exemplo a seguir:

Hello from Docker!
This message shows that your installation appears to be working correctly.

Se essa mensagem aparecer, o Docker está instalado e funcionando corretamente.

5-3. Testando Comandos Básicos do Docker

Depois que a operação básica for confirmada, experimente alguns comandos Docker comumente usados.

5-3-1. Listando Imagens Docker

docker images

Isso exibe uma lista de imagens baixadas localmente. Se hello-world aparecer, tudo está funcionando como esperado.

5-3-2. Verificando Contêineres em Execução

docker ps

Este comando lista os contêineres que estão em execução no momento.
(O contêiner hello-world termina imediatamente e geralmente não aparecerá.)

Para exibir também os contêineres parados:

docker ps -a

5-3-3. Executando um Exemplo de Imagem Oficial

Para testar um servidor web Nginx simples:

docker run -d -p 8080:80 nginx
  • -d → Executa em segundo plano
  • -p → Mapeia a porta 8080 do host para a porta 80 do contêiner

Abra http://localhost:8080 no seu navegador para ver a página padrão do Nginx.

5-4. Parando e Removendo Contêineres

Você pode parar um contêiner em execução usando o comando a seguir:

docker stop <container-id>

Para remover um contêiner:

docker rm <container-id>

Para remover imagens não utilizadas:

docker rmi <image-id>

Lembre‑se de que as dependências seguem a ordem contêiner → imagem → volume, portanto remova‑as com cuidado.

5-5. Causas Comuns de Erros

● Erros de Permissão

Got permission denied while trying to connect to the Docker daemon socket
→ O usuário não foi adicionado ao grupo docker

● Daemon do Docker Não Está em Execução

Cannot connect to the Docker daemon at unix:///var/run/docker.sock
→ Inicie o Docker com systemctl start docker

● Problemas de Rede que Impedem o Download de Imagens

→ Verifique as configurações de proxy, DNS ou restrições de rede

● Pacote Legado docker.io Ainda Instalado

→ Desinstale-o completamente e reinstale o Docker a partir do repositório oficial

6. Instalando e Usando o Docker Compose

Uma ferramenta essencial para trabalhar com Docker em escala é o Docker Compose.
Aplicações web modernas costumam ser compostas por múltiplos componentes, como bancos de dados, caches, workers e servidores web. Gerenciar cada um deles individualmente com comandos docker run rapidamente se torna impraticável.

O Docker Compose permite definir várias configurações de contêineres em um único arquivo e gerenciá‑los em conjunto, tornando‑o uma das ferramentas mais usadas no desenvolvimento real.

.### 6-1. Verificando a Instalação do Docker Compose V2

Ao instalar o Docker a partir do repositório oficial, o Docker Compose é instalado automaticamente como um plugin.

Verifique a instalação com o seguinte comando:

docker compose version

Se instalado corretamente, você deverá ver uma saída semelhante a:

Docker Compose version v2.x.x

Se você vir um erro como docker: 'compose' is not a docker command, instale o plugin manualmente:

sudo apt install docker-compose-plugin

6-2. Benefícios do Docker Compose

As principais vantagens do Docker Compose incluem:

  • Gerenciamento unificado de múltiplos contêineres (iniciar, parar, reiniciar)
  • Configuração como código, garantindo ambientes reproduzíveis
  • Facilidade para compartilhar configurações de aplicação, API e banco de dados
  • Iniciar ambientes de desenvolvimento com um único docker compose up

Isso torna o Docker Compose quase indispensável para o desenvolvimento de aplicações.

6-3. Estrutura Básica de um Arquivo de Configuração do Compose

O Docker Compose usa um arquivo chamado docker-compose.yml (ou compose.yaml) para definir serviços.
Como exemplo mínimo, crie uma configuração simples que inicia o Nginx.

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"

Execute o seguinte comando no diretório que contém o arquivo:

docker compose up -d

O Nginx será iniciado em segundo plano. Acesse http://localhost:8080 no seu navegador para confirmar.

6-4. Exemplo: Configuração Multi-Contêiner (Web + Banco de Dados)

O verdadeiro poder do Compose se revela ao gerenciar vários contêineres simultaneamente.
Por exemplo, executar uma aplicação web junto com MySQL pode ser configurado da seguinte forma:

services:
  app:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - db-data:/var/lib/mysql

volumes:
  db-data:

Explicação:

  • depends_on garante que o banco de dados seja iniciado antes da aplicação
  • volumes persiste os dados do banco de dados
  • Múltiplos serviços são gerenciados dentro de um único arquivo YAML

Este é um padrão altamente prático para ambientes de desenvolvimento.

6-5. Comandos Docker Compose Mais Usados

Estes comandos são úteis de memorizar:

CommandDescription
docker compose up -dStart containers in the background
docker compose downStop and remove containers and networks
docker compose buildBuild images using Dockerfile
docker compose psList containers managed by Compose
docker compose logs -fView logs (optionally per service)

Usar o Compose permite recriar ambientes idênticos repetidamente, tornando-o ideal para desenvolvimento em equipe.

6-6. Casos de Uso Recomendados para o Compose no Desenvolvimento

  • Configuração de ambiente local com um único comando
  • Testes em ambientes próximos à produção
  • Início de serviços combinados como bancos de dados, caches e filas de mensagens
  • Persistência de dados com volumes
  • Gerenciamento de configuração com variáveis de ambiente .env
  • Suporte a arquiteturas complexas de microsserviços

Depois de estar confortável com Docker e Compose, o tempo de configuração do ambiente é drasticamente reduzido,
melhorando significativamente a eficiência do desenvolvimento.

7. Considerações de Segurança e Operacionais

O Docker é uma ferramenta extremamente poderosa e conveniente, mas “estar containerizado” não significa automaticamente “seguro”.
Ao usar Docker regularmente no Ubuntu, há vários pontos importantes de segurança e operacionais que você deve entender.

Esta seção organiza o conhecimento essencial para operar Docker de forma segura e estável, de maneira fácil de entender mesmo para iniciantes.

7-1. O Grupo docker Possui Privilégios “Praticamente de Root”

O grupo docker configurado anteriormente concede privilégios muito fortes.
Usuários pertencentes ao grupo docker podem operar o SO host via o socket do Docker, o que equivale efetivamente a acesso de nível root.

● Pontos Principais a Serem Observados

  • Não adicione usuários arbitrários ao grupo docker em servidores compartilhados
  • Entenda as implicações, não apenas a conveniência de “não precisar de sudo”
  • Em organizações com políticas de segurança rigorosas, pode ser necessária a aprovação do administrador

Isso raramente é um problema em máquinas Ubuntu pessoais ou PCs de desenvolvimento, mas é necessário julgamento cuidadoso em servidores de produção.

7-2. Considerando Docker sem root (Opção avançada)

O Docker oferece um recurso chamado modo sem root,
que permite que o daemon do Docker seja executado sob uma conta de usuário comum em vez de root.

Vantagens:

  • Reduz significativamente o risco de privilégios do SO host
  • Permite um uso mais seguro do Docker em ambientes com requisitos de segurança rigorosos

Desvantagens:

  • Alguns recursos de rede são restritos
  • A configuração é mais complexa para iniciantes
  • O comportamento pode diferir do Docker padrão

O modo sem root não é necessário para a maioria dos casos de uso em desenvolvimento,
mas pode ser uma opção viável em ambientes corporativos ou focados em conformidade.

7-3. Limpeza de Imagens e Contêineres Não Utilizados

Com o tempo, o Docker pode consumir uma grande quantidade de espaço em disco sem que você perceba.
Contêineres, imagens e volumes não utilizados podem se acumular e facilmente ultrapassar 100 GB.

● Comandos para remover recursos não utilizados

Removendo imagens não utilizadas

docker image prune

Removendo contêineres e redes juntos

docker system prune

Limpeza agressiva (use com cautela)

docker system prune -a

A opção -a remove todas as imagens não utilizadas, portanto use-a com cuidado.

7-4. Evite usar a tag “latest” em produção

Embora tags como nginx:latest sejam convenientes durante o desenvolvimento, elas não são recomendadas para uso em produção.

Razões:

  • A versão exata por trás de latest não é garantida
  • Atualizações inesperadas podem causar falhas em tempo de execução
  • A perda de reprodutibilidade leva a implantações instáveis

Abordagem recomendada: Fixar versões explicitamente

Exemplo:

image: nginx:1.25

Versionamento explícito é uma regra fundamental para ambientes de produção.

7-5. Use imagens base oficiais em Dockerfiles

Ao criar Dockerfiles, siga estas diretrizes:

  • Prefira imagens oficiais (imagens de biblioteca)
  • Evite imagens mantidas por autores desconhecidos ou não confiáveis
  • Ao usar imagens de SO leves, como Alpine, verifique o status de suporte a vulnerabilidades

Imagens não confiáveis podem conter malware.
Mesmo em ambientes de desenvolvimento, evite-as sempre que possível.

7-6. Tenha cuidado com a exposição de rede e portas

Quando contêineres expõem portas no SO host,
eles podem ficar acessíveis a partir de fora do sistema.

Precauções:

  • Evite mapeamentos desnecessários -p 80:80
  • Para uso local, vincule apenas ao localhost, por exemplo -p 127.0.0.1:8080:80
  • Combine com configurações de firewall, como UFW
  • Para produção, use um proxy reverso (como Nginx) para melhorar a segurança

O gerenciamento de portas é especialmente crítico em servidores Ubuntu VPS ou baseados em nuvem.

7-7. Gerenciamento de logs durante falhas

Os logs do Docker podem ser visualizados com o seguinte comando:

docker logs <container-name>

Grandes volumes de logs podem consumir espaço em disco rapidamente,
portanto considere configurar drivers de log e rotação de logs.

8. Problemas comuns e solução de problemas

Embora o Docker seja uma ferramenta poderosa, erros inesperados podem ocorrer no Ubuntu devido a diferenças de ambiente ou falhas de configuração.
Esta seção resume problemas comuns e suas soluções, do nível iniciante ao intermediário.

8-1. Não é possível conectar ao Docker Daemon

● Mensagem de erro

Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

● Causas e soluções

  1. O daemon do Docker não está em execução : sudo systemctl start docker
  2. Alterações no grupo docker não foram aplicadas : faça logout e login novamente, ou execute newgrp docker
  3. Problema de permissão com /var/run/docker.sock : garanta que o usuário pertença ao grupo docker

8-2. Erros de Permissão Negada

● Erro típico

Got permission denied while trying to connect to the Docker daemon socket

● Solução

A causa é quase sempre a falta de configuração do grupo docker.

sudo usermod -aG docker $USER

Em seguida, faça logout e login novamente.

8-3. Erros de GPG ao Adicionar o Repositório APT

● Exemplos de erro

NO_PUBKEY XXXXXXXX

ou

The following signatures couldn't be verified

● Causas e correções

  • A chave GPG não foi registrada corretamente
  • O curl falhou devido a restrições de rede

Re‑registre a chave com:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
 | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Em seguida, execute sudo apt update novamente.

8-4. Conflitos de Bind de Porta

● Exemplo de erro

Bind for 0.0.0.0:80 failed: port is already allocated.

● Causa

  • A porta já está sendo usada por outro processo no host
  • Outro contêiner Docker está usando a mesma porta

● Soluções

Verifique qual processo está usando a porta:

sudo lsof -i -P -n | grep :80

Verifique os contêineres em execução:

docker ps

Altere o mapeamento de porta:

-p 8080:80

8-5. Falhas ao Baixar Imagens

● Causas comuns

  • Restrições de rede (ambientes corporativos)
  • Problemas de configuração de DNS
  • Acesso ao Docker Hub bloqueado

● Soluções

  • Alterar servidores DNS (ex.: 1.1.1.1 ou 8.8.8.8)
  • Verificar a configuração de proxy
  • Usar uma VPN se o ambiente exigir

8-6. Erros de Exaustão de Espaço em Disco

● Mensagem típica

no space left on device

● Resolução

Remova recursos não utilizados:

docker system prune -a

Revise imagens, contêineres e volumes:

docker images
docker ps -a
docker volume ls

A exaustão de espaço em disco é um dos problemas operacionais mais comuns no Docker.

侍エンジニア塾