50% de desconto todos os planos, por tempo limitado. Começando em $2.48/mo
Faltam 9 minutos
Ferramentas para desenvolvedores e DevOps

Guia fácil para logs do Docker Compose: como verificar e gerenciar

Ada Lovegood By Ada Lovegood 9 minutos de leitura Atualizado em 23 de fevereiro de 2025
registros do docker

Você quer saber o que os aplicativos Docker estão fazendo nos bastidores? Vamos aprender mais sobre a janela secreta, conhecida como logs, em seus contêineres que mostra cada movimento que eles fazem. Os logs são muito úteis para corrigir problemas. Mas antes de começarmos, vamos dar uma olhada rápida no que são Docker e Docker Compose.

O Docker permite empacotar seus aplicativos em pequenos contêineres e executá-los na maioria dos sistemas operacionais sem nenhuma dependência. É como colocar seus aplicativos em caixinhas chamadas Containers, que podem ser executadas da mesma maneira em qualquer lugar. Conhecer contêineres é um pré-requisito importante para aprender sobre o Docker Compose. Então, eu encorajo você primeiro a ler nosso blog em os benefícios da conteinerização.

Docker Compose vem com Docker e simplifica o desenvolvimento de vários aplicativos em contêineres, encadeando seus serviços, redes e armazenamento. Os logs de contêiner do Docker e o log do Docker Compose ajudam os desenvolvedores a ver o que cada contêiner faz.

Então, você está curioso sobre os logs do Docker Compose? Você está no lugar certo. Este blog explicará os fundamentos dos logs do Docker Compose e cobrirá detalhes mais avançados. Aprenda como aproveitar ao máximo o Docker Compose para seus projetos.

A importância dos logs do Docker Compose

Imagine que um desenvolvedor inicia um aplicativo com Docker, mas ignora a configuração dos logs do Docker. A princípio, tudo parece bem. Mas logo os usuários encontram erros e o aplicativo fica lento. Sem os logs do Docker, o desenvolvedor não consegue ver o que deu errado dentro dos contêineres do Docker. Os logs do Docker Compose são como um registro detalhado desses contêineres. Eles registram todos os detalhes do que acontece, o que é importante para encontrar e corrigir problemas posteriormente.

Como desenvolvedor ou administrador de sistema, você deve entender o que acontece dentro e entre aplicativos multicadeia. É aqui que os logs do Docker Compose atuam como uma ferramenta útil. Então, por que esses logs são necessários?

  • Solução de problemas e depuração

Verifique os logs do Docker quando um aplicativo não estiver funcionando corretamente ou encontrar erros. Os logs do Docker são os primeiros recursos que você pode consultar para rastrear o problema. Ao examinar os logs do docker, os desenvolvedores podem identificar a causa raiz e a origem dos problemas, seja um bug no código, uma configuração incorreta ou problemas de recursos.

  • Monitorando a integridade do aplicativo

O monitoramento regular dos logs de aplicativos ajuda a compreender a integridade geral dos serviços. Os registros podem revelar sinais de alerta precoce, como erros repetidos e respostas lentas. Observar esses padrões antecipadamente pode evitar possíveis problemas no futuro.

  • Auditoria e Conformidade

Para aplicações que precisam seguir padrões específicos, os logs do docker são a primeira evidência que mostra se a aplicação segue as diretrizes. Esses logs também desempenham um papel essencial no monitoramento de atividades autorizadas ou não autorizadas.

  • Otimização

Os logs são recursos valiosos para otimização de software, fornecendo dados de desempenho. Por exemplo, os desenvolvedores podem identificar consultas lentas, caminhos de código ineficientes ou recursos subutilizados.

Elaborando uma receita Docker: implantando um servidor Web

Nesta seção, veremos como criar uma receita Docker juntos. Primeiro precisamos construir algo para iniciar nossa jornada com os logs do Docker Compose. Vamos implantar um servidor web para essa finalidade. Para criar um Dockerfile, basta executar nano Dockerfile na pasta desejada em seu VPS com o seguinte conteúdo e salve-o:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Então, o que cada linha deste código faz?

  • Começamos com uma base leve, nginx:alpino.
  • A seguir, limpamos a página de boas-vindas padrão do Nginx.
  • Então, nos certificamos de que o servidor web está escutando na porta 80.
  • Finalmente, executamos o servidor Nginx com DMC.

Agora que nosso Dockerfile está pronto, passaremos para a próxima etapa, que é criar o arquivo Docker Compose. Aqui está a estrutura do docker-compose.yml arquivo:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Vamos decompô-lo para entender cada parte completamente:

  • Estamos usando a versão 3.8.
  • Na próxima linha, nomeamos nosso serviço “rede“.
  • Em seguida, instruímos o Docker a construir nosso servidor web a partir da pasta atual.
  • Vinculamos a porta 8080 em nosso host à porta 80 em nosso contêiner para permitir que nosso servidor web estabeleça uma conexão.
  • Finalmente, os mapas de configuração de volumes index.html do disco host para o contêiner. Mais tarde, você pode criar um index.html arquivo com qualquer conteúdo desejado e coloque-o onde o Dockerfile e docker-compose.yml existem arquivos.

Agora é hora de executar nosso contêiner Docker com Docker Compose. Simplesmente, corremos docker-compose up.

execute o contêiner Docker com Docker Compose

Depois de executar o docker-compose up comando, o Docker baixará as imagens necessárias da Internet e as configurará conforme as instruções em nossos arquivos de configuração.

Para verificar se nosso servidor web está funcionando, abra seu navegador, digite seu endereço IP VPS e solicite acesso à porta 8080.

página da web dockerizada

Como observação lateral, você pode usar docker-compose up -d para executar o contêiner em segundo plano.

Acessando logs com Docker Compose

Agora, nosso servidor web está pronto, instalado e funcionando. Já está gerando logs e armazenando essas informações para uso posterior. Acessar os logs do Docker Compose é essencial para solução de problemas e monitoramento. Mas como podemos ler esses logs? É aqui que registros docker-compose é útil. Certifique-se de estar na pasta onde existe a configuração e execute esse comando.

Acessando logs com Docker Compose

Às vezes, você pode querer ver a versão ao vivo dos logs à medida que eles são gerados. Basta adicionar -f no final do comando anterior e executar docker-compose logs -f.

Acessando logs com Docker Compose

Alguns aplicativos baseados em Docker podem não fornecer carimbos de data/hora em seus logs. Portanto, você pode usar docker-compose logs -t para adicionar um tempo registrado para cada linha do log.

Acessando logs com Docker Compose

Docker Logs também pode exibir as entradas mais recentes. Para conseguir isso, use registros docker-compose –tail 10 para visualizar as últimas 10 entradas de log. O Docker compõe a cauda dos logs e, da mesma forma, a cauda dos logs do docker é particularmente útil quando você deseja verificar rapidamente a atividade recente sem percorrer todo o histórico do log.

acessando logs com docker compose

O objetivo principal de usar o Docker Compose é criar aplicativos com vários contêineres. Portanto, talvez seja necessário ler logs específicos de um serviço desejado. Para fazer isso, use docker-compose logs -f SERVIÇO, lembrando de substituir SERVIÇO com o nome real do serviço.

acessando logs com docker

Registro do Docker

O ecossistema Docker pode se tornar mais complexo para aplicações convergentes, especialmente em ambientes grandes. Como já sabemos, cada container gera logs. Portanto, um mecanismo conhecido como Logging Driver é responsável por receber, entregar e armazenar logs. Por padrão, o Docker usa arquivos JSON para o Logging Driver, mas também oferece suporte a vários outros drivers, cada um com seus prós e contras.

Todos concordam que os logs são cruciais em diversas áreas, incluindo solução de problemas e melhoria do desempenho do sistema. Abaixo, abordaremos dois dos principais aspectos do uso de logs de contêiner:

  • Monitoramento: O objetivo principal dos logs é o monitoramento. Eles geralmente revelam a integridade geral de nossos aplicativos em contêineres.
  • Solução de problemas: Em caso de problemas, os logs nos ajudam a detectar falhas no aplicativo.

Como os logs do docker e os logs do docker compose são gerados continuamente, eles podem ocupar todo o armazenamento do VPS. Portanto, precisamos de uma estratégia para gerenciar o espaço em disco chamada Política de Rotação de Log. Para criar e usar esta política, retorne ao docker-compose.yml arquivo e abra-o. Em seguida, adicione uma seção de registro com a configuração abaixo:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Você pode ajustar constantemente tamanho máximo e arquivo máximo de acordo com suas necessidades.

Modelos de entrega de logs do Docker

Os engenheiros podem optar por um modelo de log diferente em ambientes mais avançados do que os drivers JSON padrão, como Syslog, fluentd e outros. No entanto, é importante lembrar que o driver do arquivo JSON é adequado para a maioria dos cenários de registro e pode não haver necessidade de desviar do modo padrão.

Dependendo da arquitetura ou dos requisitos organizacionais do seu aplicativo, você pode ser forçado a utilizar soluções centrais de registro conhecidas como agregadores de log. Esses serviços, incluindo Elasticsearch, Logstash, Kibana, etc., são projetados para receber logs de várias fontes e consolidá-los, armazená-los e analisá-los em um único local central.

Por outro lado, você deve armazenar seus logs usando soluções de armazenamento mais econômicas. Considere o cenário em que seu VPS usa armazenamento caro e de alta velocidade; pode não ser econômico utilizar esses recursos premium para armazenar logs que você só precisará para referência futura.

Vários modelos de registro estão disponíveis, cada um com vantagens e desvantagens. Avaliar cuidadosamente cada modelo e selecionar um com base em suas necessidades específicas é essencial.

Hospedagem Linux VPS

Obtenha um VPS Linux econômico ou premium para hospedar seu site ou desktop remoto, pelo preço mais barato do mercado. VPS rodando em Linux KVM para maior eficiência e trabalhando em hardware poderoso com armazenamento SSD NVMe para maior velocidade.

Leia mais

Conclusão

Compreender os logs do Docker Compose é fundamental. Eles ajudam a gerenciar e depurar bem seus aplicativos Docker. Aprender a acessar e monitorar esses logs melhora a resolução de problemas e aumenta o desempenho e a segurança do seu aplicativo. Seja desenvolvendo ou administrando sistemas, usar logs do Docker Compose é essencial. Eles garantem que o gerenciamento de contêineres seja eficaz.

Perguntas frequentes

Como posso filtrar os logs do Docker Compose por hora?

Docker Compose não oferece um método direto para filtrar logs por horário. No entanto, você pode filtrar logs canalizando-os por meio do grep para correspondência de padrões. Por exemplo, você pode usar: docker-compose logs | grep “2023-04-06”, substituindo “2023-04-06” pela data ou padrão de hora específico que você está procurando.

Como parar contêineres iniciados com Docker Compose?

Navegue até o diretório que contém o arquivo docker-compose.yml e execute o comando docker-compose down.

Como remover manualmente os arquivos de log?

Em vez de configurar a rotação de log em seu arquivo docker-compose.yml, você pode remover manualmente os arquivos de log JSON do Docker de /var/lib/docker/containers/<container_id>/. Antes de fazer isso, você deve identificar o ID do contêiner Docker com docker ps -a.

Você pode acompanhar os logs do Docker? 

Sim, você pode. Para isso você deve usar o comando docker logs junto com a opção -f ou –follow. Isso acompanhará os logs do Docker para você.

Compartilhar

Mais do blog

Continue lendo.

Um contêiner metálico protegido por uma cúpula de arame ciano neon brilhante, apresentando o título do artigo e o logotipo da Cloudzy contra um fundo azul profundo.
Ferramentas para desenvolvedores e DevOps

Principais erros de segurança do Docker a serem evitados em 2026

Você pode executar o Docker em produção por meses sem problemas visíveis. Os contêineres são iniciados, os aplicativos respondem, nada quebra. Então, uma porta exposta ou uma permissão mal configurada cria

Rexa CiroRexa Ciro 15 minutos de leitura
Uma estrutura de cubo azul brilhante 3D representando contêineres Docker, ao lado do texto 'Portainer vs Yacht: Qual UI Docker você deve escolher' e o logotipo Cloudzy.
Ferramentas para desenvolvedores e DevOps

Portainer vs Yacht: qual UI Docker você deve escolher em 2026?

O gerenciamento de contêineres do Docker por meio da CLI é eficaz para configurações simples, mas não é escalonável. À medida que a contagem de contêineres aumenta, o rastreamento manual de estados, registros e atualizações se torna um erro

Rexa CiroRexa Ciro 13 minutos de leitura
Ferramentas de integração contínua
Ferramentas para desenvolvedores e DevOps

As melhores ferramentas de CI/CD para otimizar seus fluxos de trabalho DevOps em 2026

  O cenário do desenvolvimento de software está evoluindo mais rápido do que nunca. E se você não quiser ficar para trás nesse rápido crescimento, você deve adotar metodologias DevOps e Agile

Ada LovegoodAda Lovegood 11 minutos de leitura

Pronto para implantar? A partir de $ 2,48 / mês.

Nuvem independente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Devolução do dinheiro em 14 dias.