Tutorial Docker 2025: Criação e Gestão de Containers

Este tutorial apresenta um guia essencial para quem deseja criar e gerenciar containers DockerO que é Docker? Entendendo os conceitos fundamentaisO que é Docker? Entendendo os conceitos fundamentaisDescubra como o Docker transforma seu ambiente de desenvolvimento com contêineres leves, garantindo portabilidade e alta eficiência na execução de aplicações. de forma prática. Aqui, vamos abordar os principais comandos, conceitos e boas práticas que permitem, em 2025, desenvolver, testar e executar aplicações isoladas em contêineres de maneira eficiente e segura.

Visão geral do que é um container Docker🔗

Um container DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. é uma instância de uma imagem isolada do restante do sistema operacional hospedeiro, contendo tudo que a aplicação precisa para rodar: bibliotecas, dependências e configurações. Esses contêineres permitem:

Em 2025, novos recursos de segurança e melhorias no Kernel para containers possuem suporte integrado no Docker, tornando o isolamentoCriando redes personalizadas em Docker: passo a passoCriando redes personalizadas em Docker: passo a passoAprenda como criar e gerenciar redes Docker personalizadas para isolar containers, controlar endereços IP e otimizar a comunicação em sua aplicação. ainda mais robusto e avançado.

Principais comandos para criação e gerenciamento🔗

O DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. oferece diversos comandos que simplificam a criação e a administração de contêineres. Abaixo está uma tabela de referência com alguns dos principais:

ComandoDescrição
docker runCria e inicia um novo contêiner
docker start/stopInicia ou interrompe um contêiner existente
docker pause/unpausePausa ou retoma a execução de um contêiner
docker rmRemove um contêiner inativo
docker execExecuta um comando em um contêiner em execução
docker psLista os contêineres em execução
docker ps -aLista todos os contêineres, inclusive os parados
docker logsExibe os logs gerados por um contêiner

Esses comandos são as ferramentas básicas para qualquer usuário que deseje operar contêineres com eficiênciaDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. e segurança.

Criando e iniciando containers🔗

Baixando a imagem

Antes de criar um contêiner, precisamos de uma imagem. Você pode baixar (ou pull) uma imagem do DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. Hub, o repositório oficial. Por exemplo, para obter a imagem do Ubuntu:

docker pull ubuntu:latest

O DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. irá verificar se a imagem local encontra-se atualizada; caso contrário, fará o download da versão indicada.

Criando e executando o container

Para criar e iniciar um contêiner baseado na imagem do Ubuntu:

docker run -it --name meu_ubuntu ubuntu:latest /bin/bash
  • -it: Modo interativo com terminal.
  • --name: Atribui um nome ao contêiner para facilitar sua identificação.
  • ubuntu:latest: A imagem de base que será utilizada.
  • /bin/bash: O comando que será executado no contêiner.

Ao executar esse comando, você será direcionado ao shell dentro do contêiner, podendo instalar softwares, manipular arquivos e explorar o sistema isoladoCriando redes personalizadas em Docker: passo a passoCriando redes personalizadas em Docker: passo a passoAprenda como criar e gerenciar redes Docker personalizadas para isolar containers, controlar endereços IP e otimizar a comunicação em sua aplicação.. Ao sair do terminal (por exemplo, digitando exit), o contêiner será encerrado.

Gerenciando contêineres🔗

Trabalhar com contêineres exige o entendimento dos comandos de gerenciamento para garantir que tudo funcione como esperado, desde a inicialização até a remoção.

Listando contêineres

Para identificar quais contêineres estão em execução, utilize:

docker ps

Para listar todos os contêineres (em execução ou não), use:

docker ps -a

Iniciando e parando contêineres

Se um contêiner já foi criado uma vez, você pode iniciá-lo novamente sem precisar repetir o dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. run. Por exemplo:

docker start meu_ubuntu

Para parar a execução de um contêiner em funcionamento:

docker stop meu_ubuntu

Você também pode pausar temporariamente a execução:

docker pause meu_ubuntu

E retomar em seguida:

docker unpause meu_ubuntu

Removendo contêineres

Quando não precisar mais de um contêiner, você pode removê-lo para liberar espaço no host:

docker rm meu_ubuntu
Dica: antes de remover, garanta que o contêiner esteja parado.

Executando comandos dentro de um contêiner em execução🔗

Às vezes, é preciso executar comandos ou debugar um contêiner que já está rodando. Para isso, utilize o:

docker exec -it meu_ubuntu /bin/bash
  • -it: Abre um terminal interativo.
  • meu_ubuntu: Nome (ou ID) do contêiner que está em execução.
  • /bin/bash: Comando que será executado nesse contêiner.

Esse recurso é muito útil, pois não é necessário reiniciar o contêiner para acessar o ambienteConfiguração de aplicações multi-container com Docker ComposeConfiguração de aplicações multi-container com Docker ComposeConfigure múltiplos contêineres com Docker Compose e otimize a comunicação entre serviços, volumes e redes para aplicações escaláveis e seguras. interno. Você pode diagnosticar problemas ou instalar pacotes extra sem parar a aplicação em si.

Boas práticas ao criar e gerenciar contêineres em 2025🔗

A evolução do DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. traz novas funcionalidades e práticas recomendadas que podem beneficiar o seu projeto:

1. Manter as imagens leves: Imagens menores são mais rápidas de baixar, iniciar e escalar.

2. Utilizar rótulos (labels): Atribuir rótulos ajuda a organizar e automatizar rotinas de controle e auditoria de contêineres.

3. Política de reinício (restart policy): Configure para que os contêineres sejam reiniciados automaticamente em falhas ou quando o host for reiniciado. Exemplo: dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. run --restart=always.

4. Atualizações consistentes: Em 2025, diversas imagens “oficiais” já incluem mecanismos embutidos para hot updates, permitindo que serviçosConfiguração de aplicações multi-container com Docker ComposeConfiguração de aplicações multi-container com Docker ComposeConfigure múltiplos contêineres com Docker Compose e otimize a comunicação entre serviços, volumes e redes para aplicações escaláveis e seguras. apliquem correções sem precisar reconstruir toda a imagem.

5. Segurança integrada: Utilize ferramentas de scanning de vulnerabilidades e ative recursos como DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. Content Trust para garantir que a imagem foi assinada e não sofreu modificações indevidas.

Conclusão🔗

A capacidade de criar e gerenciar contêineres DockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. é fundamental para quem deseja aproveitar ao máximo a portabilidade e escalabilidade que essa tecnologia proporciona. Os comandos apresentados – como dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. run, dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. start, dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. stop e dockerDocker vs Máquinas Virtuais: principais diferenças e casos de usoDocker vs Máquinas Virtuais: principais diferenças e casos de usoDescubra neste tutorial as principais diferenças entre Docker e Máquinas Virtuais, explorando desempenho, arquitetura e casos de uso práticos. exec – formam a base para lidar com qualquer contêiner, seja em ambientes de desenvolvimento ou de produção.

Com a adoção crescente de contêineres em 2025, é essencial que desenvolvedores, DevOps e administradores dominem esses procedimentos básicos antes de avançar em configurações mais complexas. Dessa forma, cria-se uma estrutura sólida para aplicações robustas, escaláveis e seguras.

Aplique as práticas sugeridas aqui para otimizar seus fluxos de trabalho, garanta maior confiabilidade nos seus serviçosConfiguração de aplicações multi-container com Docker ComposeConfiguração de aplicações multi-container com Docker ComposeConfigure múltiplos contêineres com Docker Compose e otimize a comunicação entre serviços, volumes e redes para aplicações escaláveis e seguras. e desfrute do melhor que o Docker pode oferecer na atualidade.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

  • Documentação do Docker Engine, que detalha os comandos e funcionalidades usados para criar e gerenciar containers: docs.docker.com/engine/
  • Documentação oficial do Docker, referência essencial para conceitos, comandos e práticas gerais: docs.docker.com/
  • Informações sobre segurança de contêineres Docker, complementando as boas práticas de segurança mencionadas no tutorial: docs.docker.com/engine/security/
  • Referência de linha de comando Docker CLI, importante para compreender os comandos básicos utilizados no guia: docs.docker.com/engine/reference/commandline/docker/
  • Repositório de imagens oficiais no Docker Hub, utilizado para baixar imagens como a do Ubuntu demonstrada no tutorial: hub.docker.com/

Compartilhar artigo

Artigos Relacionados