A conteinerização com Docker é uma maneira poderosa e flexível de implantar e escalar aplicações em ambientes isolados. No entanto, para que a infraestrutura permaneça estável e previsível, não basta apenas executar contêineres — é essencial monitorar constantemente como eles consomem os recursos do host, como CPU, memória RAM, disco e rede.
Sem um controle adequado, contêineres individuais podem sobrecarregar o sistema, reduzindo o desempenho de todo o ambiente. Felizmente, o Docker oferece uma ferramenta embutida — o comando docker stats — que fornece uma visualização clara e em tempo real do uso de recursos por cada contêiner ativo. Isso permite que administradores e desenvolvedores identifiquem rapidamente sobrecargas, detectem processos pesados e tomem medidas para otimizar ou redistribuir a carga.
O que é o docker stats?
docker stats é um comando integrado do Docker CLI que exibe no terminal informações em tempo real sobre o consumo de recursos por cada contêiner em execução. Ele mostra:
- Uso de CPU (%)
- Memória (utilizada / total)
- Tráfego de rede (entrada e saída)
- Operações de I/O em disco (leitura/gravação)
Este comando é extremamente útil para:
- depuração de desempenho dos contêineres;
- monitoramento durante testes de carga;
- identificação de contêineres que consomem muitos recursos;
- análise de comportamento em ambientes de produção.
Como usar o docker stats?
Comando básico:
Sem parâmetros, ele mostra estatísticas de todos os contêineres em execução.
Exemplo de saída:
d9b100f2f636 nginx 0.35% 24.35MiB / 512MiB 1.2kB / 800B 5.2MB / 0B 5
Monitorar um contêiner específico:
Exemplo:
Parâmetros úteis
Embora o docker stats não tenha muitas opções, ele pode ser usado com ferramentas CLI adicionais — por exemplo, com a opção --no-stream para obter uma estatística única (em vez de contínua):
Muito útil em scripts ou em situações onde não é necessário monitoramento contínuo.
Como funciona o docker stats internamente?
O Docker coleta dados a partir de cgroups e do runtime de contêiner (como o runc) para fornecer informações precisas sobre o uso de recursos. Esses dados são agregados e exibidos no terminal em um formato legível.
Alternativas e ferramentas complementares
Embora o docker stats seja uma ótima ferramenta para diagnóstico rápido, para monitoramento mais detalhado e de longo prazo, considere utilizar:
- cAdvisor — desenvolvido pelo Google, fornece visualizações gráficas das métricas dos contêineres.
- Prometheus + Grafana — ideal para coleta e exibição de métricas em tempo real.
- Dockly — interface de terminal interativa para Docker com estatísticas e navegação.
Conclusão
O comando docker stats é uma ferramenta indispensável para a análise rápida e eficiente da carga de trabalho dos contêineres em tempo real. Ele fornece informações detalhadas sobre o uso de CPU, memória, disco e rede, permitindo que administradores e desenvolvedores identifiquem gargalos de desempenho antes que eles afetem negativamente o ambiente. Ao utilizar docker stats, você pode agir de forma proativa, redistribuindo recursos, ajustando limites ou até mesmo reestruturando serviços para garantir maior estabilidade.
Embora o docker stats não substitua plataformas avançadas de monitoramento como Prometheus ou Grafana, ele serve como um excelente ponto de partida para diagnósticos imediatos, especialmente em ambientes de desenvolvimento, testes ou em situações de emergência. Sua simplicidade e acessibilidade tornam a ferramenta essencial para o dia a dia de quem trabalha com Docker, ajudando a manter a infraestrutura leve, eficiente e sob controle.