Se você quer parar de dizer, “funciona na minha máquina,” a containerização é o caminho a seguir.
Em poucas palavras, a containerização permite empacotar suas aplicações em ambientes leves e isolados chamados containers. Esses containers incluem tudo o que é necessário para executar a aplicação, como código e dependências, mas nada desnecessário. Uma aplicação containerizada rodará de forma consistente em diferentes ambientes, seja em seu laptop, em um servidor de testes ou em produção.
O Docker continua sendo a plataforma padrão para containerizar aplicativos em 2025. Ele pode ser executado em qualquer sistema operacional, mas, como acontece com a maioria das ferramentas de desenvolvimento, os sistemas baseados em UNIX são preferidos.
Neste artigo, você aprenderá como instalar o Docker no Ubuntu, iniciar seu primeiro contêiner e gerenciar e monitorar os contêineres em execução.
A configuração é direta, mas envolve alguns passos. Vamos nessa!
O Docker é o mesmo que o Kubernetes? Aqui estão todas as diferenças que todo desenvolvedor deve saber.
Preparando seu sistema Ubuntu
Antes de instalar o Docker no Ubuntu, há algumas tarefas de manutenção para cuidar. Você lidará com todas elas nesta seção.
Para começar, certifique-se de que está executando um sistema Ubuntu, seja a versão Desktop ou Server. Estamos usando Ubuntu Server 24.04:
Imagem 1 – Detalhes do sistema operacional
Se você ver uma saída semelhante à mostrada na imagem acima, está tudo certo.
Verifique os requisitos do sistema
Antes de instalar o Docker, certifique-se de que seu sistema tenha recursos suficientes para executá-lo.
Embora o Docker não especifique requisitos mínimos em seu site (além das arquiteturas de CPU compatíveis), descobrimos que o seguinte é suficiente para executar o Docker:
- Sistema operacional: Ubuntu Desktop/Server 20.04 ou posterior
- Arquitetura da CPU: 64 bits (x86_64 ou arm64)
- Memória: 512 MB de RAM
- Armazenamento: 5 GB
Uma máquina com essas especificações permitirá que você execute o Docker, mas não muito mais. Não espere executar contêineres complexos ou aplicativos de vários contêineres.
Se você planeja fazer mais, aponte para pelo menos 2 GB de RAM, 25 GB de armazenamento, e um CPU moderno.
Atualize seu sistema Ubuntu
Estamos executando o Docker em uma nova instância do Ubuntu Server, então forneceremos todos os comandos necessários para configurar os pré-requisitos do Docker.
Primeiro, atualize a lista de pacotes do seu sistema e atualize os pacotes existentes executando o seguinte comando:
sudo apt update && sudo apt upgrade -y
Esse processo pode levar alguns minutos, mas garante que o seu gerenciador de pacotes obtenha as versões mais recentes dos pacotes e atualizações de segurança.
Garanta os pré-requisitos
O Docker requer algumas dependências para instalar e funcionar corretamente. Execute este comando para instalá-las:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
Em resumo, o comando acima habilita downloads de pacotes via HTTPS e instala as ferramentas necessárias para buscar as chaves GPG do Docker (sobre as quais discutiremos mais tarde).
E é isso—seu sistema agora está pronto para instalar o Docker!
Instalando o Docker no Ubuntu
Depois de cuidar dos pré-requisitos do sistema, instalar o Docker no Ubuntu é um processo de quatro etapas.
Passo 1: Adicionar a chave GPG oficial do Docker
A chave GPG (GNU Privacy Guard) do Docker é usada para assinar pacotes e repositórios do Docker, garantindo a integridade e autenticidade das imagens e pacotes do Docker.
Comece executando o comando de shell apropriado para baixar a chave e armazenar uma versão convertida compatível com o APT em /usr/share/keyrings
.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Passo 2: Adicionar o repositório APT oficial do Docker
Agora, adicione o repositório oficial do Docker ao seu sistema.
O próximo comando usa a chave GPG previamente armazenada para verificar a autenticidade do repositório e então o adiciona às fontes de pacotes do sistema:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Depois disso, atualize a lista de pacotes do sistema para incluir o novo repositório:
sudo apt update
Passo 3: Instale o Docker
Agora que o repositório está configurado, você está pronto para instalar o Docker no Ubuntu.
O comando de instalação instalará o núcleo do Docker, sua interface de linha de comando e o tempo de execução para gerenciar a execução de contêineres:
sudo apt install -y docker-ce docker-ce-cli containerd.io
Depois que a instalação estiver completa, você deverá ver uma saída confirmando a instalação bem-sucedida:
Imagem 2 – Resultados da instalação do Docker
Passo 4: Verificar a instalação do Docker
O Docker deve estar agora instalado em seu sistema.
Para verificar, imprima a versão do Docker no console. Se a instalação foi bem-sucedida, você deve ver um número de versão sendo exibido:
docker --version
Imagem 3 – Versão do Docker instalada
Em janeiro de 2025, a versão 27.5.1 do Docker é a mais recente, e nós a temos rodando com sucesso no Ubuntu Server.
Passos pós-instalação
Você agora tem o Docker instalado e está pronto para começar a containerizar suas aplicações.
Mas o que é containerização? Nosso curso sobre Conceitos de Containerização e Virtualização irá te ensinar o básico.
Antes de fazer isso, recomendamos passar por três etapas de configuração adicionais para aproveitar ao máximo. Esta seção é para você se deseja executar o Docker na inicialização do sistema ou gerenciar imagens e contêineres como um usuário não-root.
Passo 1: Inicie e habilite o serviço Docker
O serviço Docker está atualmente em execução no seu sistema, mas não será iniciado automaticamente após uma reinicialização.
Para garantir que o Docker seja iniciado automaticamente na inicialização, use systemctl
para habilitar o serviço:
sudo systemctl enable docker
Você deve ver uma saída semelhante à nossa:
Imagem 4 – Habilitando o serviço Docker na inicialização
No futuro, se você receber uma mensagem indicando que o Docker não está em execução (o que não deveria acontecer), você pode iniciar o Docker manualmente usando o seguinte comando:
sudo systemctl start docker
O Docker agora permanecerá em funcionamento enquanto o sistema estiver ligado.
Passo 2: Verificar o status do Docker
Há alguns comandos adicionais do systemctl
que você pode usar para gerenciar o serviço do Docker.
Por exemplo, o comando status
mostra o estado de um serviço, que é mais comumente ativo, inativo, ou falhou. Embora existam mais estados possíveis, esses três são os mais frequentes:
sudo systemctl status docker
Imagem 5 – Status do serviço Docker
Se o seu serviço Docker estiver ativo, todos os sistemas estão funcionando corretamente.
Se você ver um estado diferente para o Docker ou qualquer outro serviço, reiniciá-lo deve resolver o problema:
sudo systemctl restart docker
Depois de reiniciado, você pode verificar o status novamente para confirmar que o serviço está em execução.
Passo 3: Gerenciar o Docker como um usuário não root
Por padrão, executar comandos Docker requer sudo
, o que pode ser inconveniente. Isso significa que você deve digitar sudo
antes de qualquer comando docker
.
Felizmente, há uma maneira fácil de permitir que usuários não-root executem comandos do Docker — adicionando o usuário atual ao grupo docker:
sudo usermod -aG docker $USER
Após executar o comando acima, faça logout e login para que a mudança tenha efeito. Agora você deve conseguir executar comandos do Docker sem privilégios de superusuário.
Vamos verificar isso na próxima seção.
Testando a Instalação do Docker
O Docker está agora instalado e configurado. Ele também é iniciado automaticamente no boot e permite que seu usuário execute comandos diretamente.
Nesta seção, vamos concluir executando dois containers – um para um exemplo simples de “Olá, Mundo!” e outro para um script Python.
Passo 1: Executar um container de teste Docker
O Docker fornece uma imagem de teste simples chamada hello-world
, que é usada exclusivamente para confirmar que o Docker está funcionando corretamente.
Execute o seguinte comando para iniciar a imagem:
docker run hello-world
Como a imagem não é encontrada localmente, o Docker irá baixá-la automaticamente da web. Após alguns momentos, você deverá ver uma saída semelhante a esta:
Imagem 6 – Exemplo de olá mundo do Docker
Em resumo, isso confirma que o Docker está instalado corretamente, o daemon do Docker está em execução e seu sistema pode puxar imagens do Docker Hub.
Passo 2: Execute seu primeiro contêiner “real”
Se você deseja construir imagens do zero, esta seção é para você.
Vamos construir uma imagem simples que executa o Python 3.9 e, quando iniciada, executa um script Python personalizado.
Comece criando uma pasta dedicada e um arquivo app.py
que será executado:
mkdir python-docker-test && cd python-docker-test nano app.py
O arquivo contém apenas um simples comando print()
, mas é claro que você pode expandi-lo para incluir lógica mais complexa:
print("Hello from Docker running on Ubuntu!")
No mesmo diretório, crie um Dockerfile
, que informa ao Docker como construir a imagem passo a passo:
nano Dockerfile
Essas três linhas são tudo o que você precisa:
FROM python:3.9-slim COPY app.py /app.py CMD ["python", "/app.py"]
Essencialmente, o Docker é instruído a buscar a imagem python:3.9-slim
do Docker Hub, copiar o script app.py
para o contêiner e, em seguida, executar o script.
Neste ponto, você deve ter os seguintes arquivos no seu diretório de trabalho:
Imagem 7 – Conteúdo da aplicação Python de demonstração
Para criar a imagem, execute o seguinte comando:
docker build -t python-hello .
O comando acima cria uma nova imagem no diretório atual (.
) e atribui a ela a tag python-hello
.
Imagem 8 – Construindo uma imagem Docker
Para executar a imagem, use o comando docker run
seguido da tag da imagem. A opção --rm
garante que o contêiner seja removido após a saída, o que acontece imediatamente após a execução do script Python:
docker run --rm python-hello
Imagem 9 – Executando um script Python no Docker
E assim, você containerizou com sucesso sua primeira aplicação Python com Docker rodando no Ubuntu!
Se você está procurando por uma aplicação de aprendizado de máquina do Docker, o curso Containerization: Docker e Kubernetes para Aprendizado de Máquina da DataCamp é uma leitura recomendada como próximo passo.
Atualizando e Desinstalando o Docker no Ubuntu
Executar o Docker em seu próprio ambiente lhe dá controle total, mas também o torna responsável por acompanhar as últimas atualizações, novos recursos e correções de segurança.
Esta seção explica como realizar tarefas básicas, como atualizar o Docker e removê-lo completamente do seu sistema.
Atualizando o Docker
A atualização do Docker se resume a dois passos principais:
- Atualizar a lista de pacotes para obter a versão mais recente do Docker.
- Atualizar o Docker (núcleo, CLI e tempo de execução de gerenciamento de contêiner) para a versão mais recente.
Execute os seguintes comandos no terminal para atualizar o Docker no Ubuntu:
sudo apt update sudo apt upgrade -y docker-ce docker-ce-cli containerd.io docker --version
O comando docker --version
exibe a versão atualmente instalada. Esta é a maneira mais fácil de verificar se o Docker foi atualizado com sucesso.
Desinstalando o Docker
Se precisar remover o Docker do seu sistema, comece desinstalando o Docker e os pacotes relacionados, e removendo quaisquer arquivos e configurações restantes relacionados ao Docker.
Além disso, você pode optar por remover o repositório do Docker das fontes do APT.
Os quatro comandos a seguir desinstalarão o Docker do seu sistema Ubuntu, mas lembre-se de que apenas os três primeiros são necessários:
sudo apt remove -y docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # Optional sudo rm /etc/apt/sources.list.d/docker.list
Depois de executar esses comandos, ao emitir docker --version
, deverá retornar um erro indicando que o Docker não está mais instalado.
Boas práticas para o Docker no Ubuntu
O gerenciamento do Docker exige manutenção contínua, pois é sua responsabilidade remover recursos não utilizados e monitorar o desempenho.
Nesta seção, abordaremos duas tarefas essenciais de limpeza que você deve realizar regularmente ao executar o Docker no Ubuntu.
Limpe regularmente os recursos do Docker
Ao longo do tempo, imagens, contêineres, redes e volumes do Docker não utilizados podem se acumular, consumindo espaço significativo em disco.
A limpeza desses recursos é conhecida como poda, embora uma explicação detalhada esteja fora do escopo deste artigo.
Apenas lembre-se deste comando — ele removerá todos os contêineres, imagens, volumes e redes não utilizados de uma vez:
docker system prune -a -f
Imagem 10 – Poda de Recursos
Nós recuperamos apenas 10 kB, mas em um ambiente mais “sério”, este comando frequentemente pode liberar dezenas de gigabytes de espaço em disco.
Proteja sua instalação do Docker
Já abordamos dois tópicos importantes de segurança — manter o Docker atualizado e gerenciar permissões de superusuário.
Além desses, aqui estão mais alguns passos para melhorar a segurança do Docker no Ubuntu:
- Limitar os privilégios do contêiner: Evite executar contêineres com a flag
--privileged
sempre que possível, pois isso desabilita muitas verificações de segurança que isolam os contêineres do sistema hospedeiro. - Usar apenas imagens oficiais e confiáveis: Não baixe imagens de registros de terceiros não verificados. Mantenha-se em fontes confiáveis como Docker Hub e registros privados.
- Ativar Docker Content Trust (DCT): Definir esta variável de ambiente garante que apenas imagens assinadas e verificadas sejam utilizadas.
Monitorar o desempenho do Docker
O Docker CLI inclui ferramentas poderosas para ajudar a monitorar o desempenho do contêiner e identificar possíveis problemas.
Antes de explorá-las, vamos modificar o arquivo app.py
para mantê-lo em execução após o contêiner iniciar:
import time time.sleep(10000) print("Hello from Docker running on Ubuntu!")
O motivo é simples – precisamos de um contêiner em execução para monitorar seu desempenho.
Vamos começar com o comando ps
. Em poucas palavras, ele lista todos os contêineres em execução no momento:
docker ps
Imagem 11 – Executando contêineres Docker
Embora a saída não revele muito, o campo CONTAINER ID
é crucial para uma inspeção mais detalhada.
Agora, vamos explorar o comando stats
, que exibe o uso de recursos em tempo real, incluindo CPU, memória e consumo de rede para todos os contêineres em execução:
docker stats
Imagem 12 – Estatísticas do contêiner
Se você precisa de uma análise detalhada do uso de recursos e configuração de um contêiner, utilize o comando inspect
.
Basta fornecer o ID do contêiner:
docker inspect <container_id>
Imagem 13 – Detalhes do contêiner
Se estiver enfrentando problemas com um contêiner Docker, o comando logs
pode ajudar a diagnosticar o problema e potencialmente identificar a causa.
Também é necessário o ID do contêiner:
docker logs <container_id>
Imagem 14 – Logs do contêiner
Às vezes, você pode precisar se conectar diretamente a um contêiner em execução. Se você souber o ID do contêiner, isso é simples:
docker exec -it <container_id> bash
Imagem 15 – Logs do contêiner
O comando anterior abre um shell dentro do contêiner Docker especificado, permitindo acessar ou modificar arquivos diretamente.
Resumindo o Docker no Ubuntu
Hoje, você aprendeu como instalar, configurar e gerenciar o Docker no Ubuntu.
Se você seguiu todos os passos, terá o Docker em execução em seu sistema, iniciando automaticamente na inicialização e não exigindo permissões de superusuário para gerenciar contêineres. Você também aprendeu como verificar a instalação do Docker, executar contêineres de teste e até mesmo construir sua primeira aplicação Python personalizada em contêiner.
É muito, mas é apenas o começo. Há muito mais nesta história de containerização, e recomendamos fortemente que você confira nossos recursos oficiais para se tornar proficiente em Docker:
Source:
https://www.datacamp.com/tutorial/install-docker-on-ubuntu