Como Instalar e Usar o Docker no Ubuntu: Guia Completo para Iniciantes em 2025

目次

1. O que é Docker? Sua Relação com o Ubuntu

Docker é uma tecnologia de virtualização que empacota ambientes de execução de aplicativos em unidades chamadas “contêineres”, permitindo que eles sejam executados de forma consistente em qualquer servidor ou computador. Diferente das máquinas virtuais tradicionais, o Docker executa contêineres diretamente no SO do host, tornando possível criar um ambiente mais leve e rápido.

Distribuições Linux como o Ubuntu têm alta compatibilidade com o Docker e são amplamente usadas por desenvolvedores e administradores de sistemas em ambientes empresariais e pessoais. Isso porque o Ubuntu é de código aberto, popular para uso em servidores, possui gerenciamento de pacotes fácil e oferece suporte oficial extenso.

Ao usar o Docker, você pode eliminar problemas como “funciona na minha máquina, mas não em produção”. Seja no seu PC de desenvolvimento ou em um servidor de produção, os contêineres do Docker permitem que você replique rapidamente o mesmo ambiente exato em qualquer lugar. O Ubuntu também é oficialmente suportado pelo Docker, tornando fácil encontrar guias de configuração e recursos.

Este artigo fornece um guia passo a passo para instalar o Docker no Ubuntu e lançar um contêiner Ubuntu. Seja você um usuário iniciante do Docker ou quiser revisar os conceitos básicos, este guia foi projetado para ajudá-lo a ter sucesso.

2. Requisitos do Sistema & Pré-requisitos

Há vários pré-requisitos e preparações necessários para usar o Docker no Ubuntu. Para uma instalação e inicialização suaves, aqui está um resumo do ambiente necessário e dos pontos principais a verificar previamente.

Sobre as Versões do Ubuntu

Geralmente, é recomendado usar o Docker no Ubuntu 18.04 LTS ou superior. O suporte mais robusto é fornecido para versões de suporte de longo prazo (LTS), como “Ubuntu 20.04 LTS”, “Ubuntu 22.04 LTS” e “Ubuntu 24.04 LTS”. Usar versões mais antigas pode causar problemas com pacotes ou dependências necessários, então é melhor usar a versão LTS mais recente.

Requisitos do Sistema

Embora o Docker em si seja uma tecnologia de contêineres leve, executar múltiplos contêineres ou usar o Docker para desenvolvimento e testes pode exigir recursos adicionais. As seguintes especificações mínimas são recomendadas:

  • Ubuntu de 64 bits instalado (32 bits não é suportado)
  • CPU: 2 ou mais núcleos recomendados
  • Memória: Pelo menos 2GB (4GB ou mais é preferível para uso confortável)
  • Espaço em disco disponível: Pelo menos 10GB livres

Conexão com a Internet

Uma conexão com a internet é necessária para instalar o Docker e baixar imagens. A configuração inicial pode exigir o download de uma grande quantidade de dados, então certifique-se de ter uma conexão estável.

Sobre Permissões de Usuário

Você precisa de privilégios “sudo” (administrador) para instalar e gerenciar o Docker. Se você tiver apenas direitos de usuário regular, peça ao seu administrador ou obtenha temporariamente as permissões necessárias previamente.

Removendo Pacotes Antigos do Docker

Se você tiver instalado anteriormente pacotes como “docker” ou “docker.io” manualmente, é recomendado desinstalá-los primeiro para evitar conflitos ou problemas inesperados.

sudo apt-get remove docker docker-engine docker.io containerd runc

Isso ajuda a prevenir problemas causados por pacotes antigos e novos misturados.

Resumo

Revise os requisitos nesta seção e certifique-se de que seu ambiente esteja pronto antes de prosseguir com os passos de instalação e configuração nos próximos capítulos.
Se sua configuração atender a esses pré-requisitos, a instalação do Docker ocorrerá sem problemas.

3. Instalando e Configurando o Docker Engine

Esta seção explica como instalar o Docker Engine no Ubuntu e realizar a configuração básica. Usar o repositório oficial garante que você obtenha a versão mais recente e estável do Docker.

Adicionando o Repositório Oficial e Preparando Seu Sistema

Primeiro, adicione o repositório oficial do Docker ao apt. Todas as operações são realizadas no terminal. Siga estes passos:

  1. Instale os pacotes necessários
    sudo apt-get update
    sudo apt-get install 
        ca-certificates 
        curl 
        gnupg 
        lsb-release
    
  1. Adicione a chave GPG
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Adicionar o repositório do Docker
    echo 
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) stable" | 
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

Instalando o Docker Engine

Uma vez que o repositório tenha sido adicionado, instale o Docker Engine propriamente dito:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Após a instalação, verifique se o Docker está instalado verificando a versão:

docker --version

Se você vir uma saída como “Docker version 25.0.3, build 1234567”, a instalação foi bem-sucedida.

Sobre o Docker Desktop (Suplemento)

No Ubuntu, você usará principalmente o “Docker Engine”, mas o “Docker Desktop for Linux” agora está oficialmente disponível também. Se você precisar de uma interface gráfica, o Docker Desktop pode ser uma boa opção. No entanto, para a maioria dos usuários de linha de comando, o Docker Engine sozinho é suficiente.

Se Você Encontrar Problemas

Se você receber erros como “pacote não encontrado”, revise as configurações do seu repositório e o registro da chave GPG. Se pacotes antigos do Docker estiverem instalados, podem ocorrer conflitos, então verifique novamente os passos de desinstalação na seção 2.

4. Usando Comandos do Docker Sem sudo

Logo após a instalação, o Docker só pode ser usado com privilégios de administrador (sudo). Executar comandos com sudo toda vez é inconveniente e pode introduzir riscos se você cometer um erro de digitação.
Uma abordagem recomendada é adicionar sua conta de usuário ao grupo “docker”, permitindo que você use o Docker de forma segura e confortável sem sudo.

Como Adicionar Seu Usuário ao Grupo Docker

  1. Adicionar seu usuário ao grupo docker Execute o seguinte comando para adicionar seu usuário atual ao grupo docker: ( $USER será automaticamente substituído pelo seu nome de usuário atual.)
    sudo usermod -aG docker $USER
    
  1. Aplicar as alterações Você deve fazer logout e login novamente para que a adição ao grupo tenha efeito. A maneira mais simples é fazer logout uma vez e depois fazer login novamente.

Se você quiser que as alterações tenham efeito imediatamente, você também pode usar:

newgrp docker
  1. Verificar Verifique se você pode executar comandos do Docker sem sudo. Por exemplo, execute o seguinte e confirme que a versão é exibida:
    docker version
    

Nota sobre Segurança

Embora adicionar seu usuário ao grupo docker elimine a necessidade de sudo, isso também concede privilégios significativos. Em sistemas multiusuário, tenha cuidado com a adesão ao grupo docker.
Para uso pessoal ou ambientes de desenvolvimento, isso geralmente não é um problema, mas sempre siga as políticas da sua organização em servidores de produção.

Completar esses passos tornará o trabalho com o Docker muito mais fácil.

5. Iniciando e Gerenciando o Daemon do Docker

O Docker executa como um processo em segundo plano chamado “daemon” (dockerd).
Após a instalação, o daemon do Docker é configurado para iniciar automaticamente, mas você pode querer iniciá-lo ou pará-lo manualmente, ou alterar seu comportamento de inicialização na reinicialização. Aqui está como gerenciar o daemon do Docker no Ubuntu.

Iniciando, Parando e Reiniciando o Daemon do Docker

Você pode iniciar ou parar o Docker facilmente usando o comando systemctl.

  • Iniciar
    sudo systemctl start docker
    
  • Parar
    sudo systemctl stop docker
    
  • Reiniciar
    sudo systemctl restart docker
    
  • Verificar Status
    sudo systemctl status docker
    

Este comando exibe o status atual e quaisquer mensagens de erro.

Habilitando/Desabilitando Inicialização Automática (na Inicialização)

No Ubuntu, você pode configurar o Docker para iniciar automaticamente na reinicialização do servidor.
Isso geralmente está habilitado por padrão após a instalação, mas aqui está como verificar e alterar essa configuração:

  • Habilitar inicialização automática
    sudo systemctl enable docker
    
  • Desabilitar inicialização automática
    sudo systemctl disable docker
    

Use isso se você quiser iniciar o Docker manualmente, por exemplo, em um ambiente de desenvolvimento ou teste.

Nota: Você Também Pode Usar o Comando service

Em versões mais antigas do Ubuntu ou se preferir, você pode usar comandos como service docker start. No entanto, o systemctl é agora recomendado.

Dicas de Solução de Problemas

  • Se o daemon do Docker não iniciar, verifique erros com sudo systemctl status docker.
  • Erros também podem ser causados por dependências ausentes ou configurações incorretas do kernel.
  • Verifique os logs com journalctl -u docker.

Com isso, você cobriu os básicos de iniciar e gerenciar o daemon do Docker no Ubuntu.

6. Como Iniciar um Contêiner Ubuntu

Agora, vamos percorrer o processo de iniciar um “contêiner Ubuntu” no Ubuntu.
Após instalar o Docker, nenhum contêiner está rodando ainda. O fluxo de trabalho padrão é obter uma “imagem de contêiner” do SO ou aplicação desejada, então iniciá-la. Aqui, usaremos a imagem oficial do Ubuntu como um exemplo simples.

1. Baixar a Imagem do Ubuntu (pull)

Primeiro, baixe a imagem do Ubuntu do Docker Hub (o repositório oficial de imagens).
Você pode especificar uma versão como “22.04” ou usar a mais recente (se não especificada).

docker pull ubuntu:22.04

ou

docker pull ubuntu

Ambos são válidos, mas é recomendado especificar a versão explicitamente.

2. Iniciar um Novo Contêiner Ubuntu (run)

Use a imagem baixada para iniciar um contêiner Ubuntu.
O comando mais básico é:

docker run -it --name myubuntu ubuntu:22.04 /bin/bash
  • -it : Modo interativo (para acesso ao shell)
  • --name myubuntu : Atribuir um nome ao contêiner (opcional)
  • ubuntu:22.04 : Imagem a usar
  • /bin/bash : Comando a executar ao iniciar (shell bash)

Este comando permite que você entre no ambiente Ubuntu no contêiner usando bash.

3. Executar em Segundo Plano

Para uso em servidor ou se você quiser manter o contêiner rodando, use a opção de segundo plano (-d):

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Neste exemplo, o contêiner permanecerá rodando, sem fazer nada.

4. Parando e Reiniciando Contêineres

  • Para parar um contêiner
    docker stop myubuntu
    
  • Para iniciá-lo novamente
    docker start myubuntu
    

5. Verificando Status

  • Listar contêineres em execução
    docker ps
    
  • Mostrar todos os contêineres, incluindo os parados
    docker ps -a
    

Resumo

Este capítulo explicou o fluxo desde “baixar a imagem do Ubuntu” até “iniciar um contêiner” e gerenciamento básico. Experimente você mesmo para experimentar a conveniência do Docker.

7. Comandos Essenciais do Docker para Gerenciamento de Contêineres

A principal vantagem do Docker é sua operação flexível: você pode facilmente criar, parar e remover contêineres.
Este capítulo resume os comandos básicos que você usará frequentemente para gerenciar e operar contêineres Ubuntu.
Pratique esses comandos regularmente para se familiarizar.

Listando Contêineres

  • Listar contêineres em execução
    docker ps
    
  • Listar todos os contêineres, incluindo os parados
    docker ps -a
    

Iniciando, Parando e Reiniciando Contêineres

  • Iniciar um contêiner
    docker start [container name or ID]
    
  • Parar um contêiner
    docker stop [container name or ID]
    
  • Reiniciar um contêiner
    docker restart [container name or ID]
    

Conectando-se e Operando Contêineres

  • Executar um comando em um contêiner em execução (exec)
    docker exec -it [container name or ID] /bin/bash
    

Removendo Contêineres

  • Remover um contêiner
    docker rm [container name or ID]
    
  • Remover à força (mesmo se em execução)
    docker rm -f [container name or ID]
    

Removendo Imagens

  • Verificar imagens não usadas
    docker images
    
  • Remover uma imagem
    docker rmi [image name or ID]
    

Outros Comandos Úteis

  • Verificar logs
    docker logs [container name or ID]
    
  • Verificar uso de disco
    docker system df
    

Pontos Chave

  • Conhecer comandos básicos como docker ps, docker start, docker stop e docker exec agilizará as operações diárias e a solução de problemas.
  • Remova regularmente contêineres e imagens não usados para gerenciar o espaço em disco de forma eficaz.

8. Solução de Problemas & Perguntas Frequentes

Quando operar contêineres Docker ou Ubuntu, você pode encontrar problemas ou erros inesperados. Este capítulo aborda problemas comuns relacionados a “iniciar contêineres Docker Ubuntu” e como resolvê-los.

Problemas Comuns e Soluções

1. Erro “Cannot connect to the Docker daemon”

Este erro ocorre frequentemente se o daemon do Docker (dockerd) não estiver em execução ou se houver problemas de permissão.

  • Solução:
  1. Verifique se o daemon do Docker está em execução: sudo systemctl status docker
  2. Se não estiver em execução, inicie-o com: sudo systemctl start docker
  3. Se precisar de sudo, adicione-o ou adicione seu usuário ao grupo docker, conforme descrito na seção 4.

2. Conflitos com Pacotes Antigos do Docker

Se você instalou anteriormente pacotes como “docker,” “docker.io” ou “docker-engine,” podem ocorrer conflitos e causar problemas.

  • Solução: Desinstale os pacotes antigos.
    sudo apt-get remove docker docker-engine docker.io containerd runc
    

3. Falha ao Iniciar o Contêiner

Isso pode ser devido a erros de digitação no nome da imagem ou comando, ou falta de recursos (memória/disco).

  • Solução:
  • Verifique erros de digitação no nome da imagem ou comando.
  • Use docker images para verificar se a imagem existe.
  • Verifique o espaço em disco e a memória disponíveis no servidor.

4. Erros de Conflito de Porta

Erros ocorrerão se você tentar lançar um contêiner em uma porta já em uso.

  • Solução:
  • Especifique um número de porta diferente.
  • Pare o processo existente.

5. Notas sobre o Modo Rootless

Versões recentes do Docker suportam o modo “rootless”, que permite executar o Docker sem privilégios de root, mas há limitações. Consulte a documentação oficial e as mensagens de erro para detalhes.

Lista de Verificação Prática

  • Use docker ps -a para verificar o status do contêiner
  • Use docker logs [container name] para verificar detalhes de erros
  • Use journalctl -u docker para revisar os logs do Docker em nível de sistema

Pontos Principais

A maioria dos problemas do Docker está relacionada a “permissões,” “conflitos de versão” ou “erros de configuração.”
Se você encontrar problemas, leia as mensagens de erro com atenção e considere reinstalar ou revisar sua configuração, se necessário.

9. Resumo e Próximos Passos

Este artigo forneceu um guia abrangente para “instalar o Docker no Ubuntu e lançar contêineres Ubuntu.”
Vamos revisar os pontos principais e sugerir algumas dicas para aprendizado e uso adicional.

Resumo deste Artigo

  • Visão Geral e Benefícios do Docker Alta compatibilidade com Ubuntu e a capacidade de reproduzir ambientes rapidamente em qualquer lugar.
  • Preparação e Pontos Principais Antes da Configuração Versão do Ubuntu, requisitos de hardware, permissões e limpeza de pacotes antigos.
  • Como Instalar o Docker Engine Instale a versão mais recente e segura do Docker usando o repositório oficial.
  • Operando Sem sudo e Gerenciando o Daemon Adicionar seu usuário ao grupo docker e usar systemctl para inicialização/parada automática.
  • Como Lançar Contêineres Ubuntu e Usar Comandos Principais Operações básicas para criar, gerenciar e operar contêineres.
  • Problemas Comuns e Soluções Lidar com permissões, conflitos de versão e outros problemas frequentes.

Próximos Passos e Uso Avançado

O primeiro passo para dominar o Docker é se acostumar a lançar contêineres e usar comandos básicos. Uma vez confortável, experimente operações mais avançadas:

  • Construindo Contêineres Personalizados com Dockerfile Além de apenas usar imagens, crie imagens personalizadas para suas necessidades.
  • Gerenciando Múltiplos Contêineres com Docker Compose Inicie e gerencie facilmente múltiplos serviços (ex.: web + DB) juntos.
  • Aproveitando Recursos de Volumes e Rede Persista dados e gerencie a comunicação entre múltiplos contêineres.
  • Usando Ferramentas de Orquestração como Kubernetes Leve suas operações em nuvem para o próximo nível com gerenciamento em grande escala e autoescalonamento.

Pensamentos Finais

Docker não é apenas para ambientes de desenvolvimento—também é útil para gerenciamento de servidores, implantação de serviços, experimentação e aprendizado.
Experimente e sinta seu poder e conveniência.
Se você tiver dúvidas, consulte a documentação oficial ou fóruns da comunidade e continue explorando.

10. FAQ

Esta seção cobre perguntas frequentes de leitores sobre “iniciando contêineres Docker no Ubuntu” e o conteúdo deste artigo.
Focamos em problemas comuns para iniciantes e preocupações práticas no uso real.

Q1. Posso usar o Docker tanto no Ubuntu Desktop quanto no Ubuntu Server?

A.
Sim, o Docker funciona em ambos. Os comandos e etapas são em grande parte os mesmos, mas o Ubuntu Server é geralmente recomendado para produção porque não tem GUI, resultando em menor uso de recursos.

Q2. Preciso do Docker Desktop no Ubuntu?

A.
Não, o “Docker Engine” sozinho é suficiente para o Ubuntu. O Docker Desktop é uma ferramenta de gerenciamento com GUI, mas no Linux (Ubuntu), a linha de comando é geralmente preferida e menos propensa a problemas. Se você preferir uma GUI para aprendizado ou gerenciamento, sinta-se à vontade para experimentar o Docker Desktop.

Q3. O que é o modo rootless?

A.
O modo rootless permite executar o Docker sem privilégios de root (administrador). É útil para fortalecer a segurança ou em ambientes multiusuário. No entanto, alguns recursos podem ser restritos, então escolha com base nas suas necessidades e políticas.

Q4. Como forneço armazenamento persistente para contêineres?

A.
Você pode usar “volumes” ou “bind mounts” para garantir que os dados não sejam perdidos quando um contêiner for excluído.

Exemplo:

docker run -v /host/path:/container/path ubuntu:22.04

Este comando vincula um diretório no seu host a um diretório dentro do contêiner.

Q5. Como configuro contêineres ou o daemon do Docker para iniciar automaticamente?

A.
Para configurar o daemon do Docker para iniciar automaticamente, use sudo systemctl enable docker, como descrito na seção 5.
Para iniciar automaticamente um contêiner específico na inicialização, adicione opções como --restart=unless-stopped ao criar o contêiner.

Exemplo:

docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Q6. Posso executar imagens Docker para outros SOs no Ubuntu?

A.
Sim, desde que a imagem seja para a mesma arquitetura de CPU (Linux). Imagens específicas para Windows ou outras arquiteturas não executarão no Ubuntu.

Q7. Como limpo imagens ou contêineres não utilizados?

A.
Remova contêineres ou imagens não utilizados com docker rm ou docker rmi. Para uma limpeza mais completa, use estes comandos:

  • Remover todos os contêineres parados
    docker container prune
    
  • Remover imagens não utilizadas
    docker image prune
    
  • Limpar dados não utilizados de uma vez
    docker system prune
    

Q8. Onde posso encontrar suporte ou informações quando encontro problemas?

A.
Consulte a documentação oficial do Docker (https://docs.docker.com/) ou verifique comunidades de desenvolvedores como Stack Overflow e Qiita. Pesquisar diretamente a mensagem de erro geralmente é eficaz.

Q9. Como posso aprender a usar o Docker Compose ou outras ferramentas multi-contêiner?

A.
O Docker Compose é uma ferramenta prática para gerenciar múltiplos contêineres. Para aprendê-lo, consulte a documentação oficial, tutoriais e arquivos de exemplo docker-compose.yml, e experimente usá-los na prática.

Q10. O Docker é suportado na versão mais recente do Ubuntu (por exemplo, 24.04)?

A.
Sim, o Docker suporta oficialmente as versões LTS mais recentes. Ao usar os repositórios e pacotes mais recentes, você pode sempre desfrutar de operações estáveis.