Como ver os logs num container em execução?
sobes.tech IA
Resposta da IA
Os logs do contêiner podem ser visualizados de várias maneiras:
-
docker logs: Método padrão para visualizar a saída padrão (stdout) e o erro padrão (stderr) do contêiner.
// Mostrar todos os logs do contêiner docker logs <id_ou_nome_do_contêiner> // Mostrar logs dos últimos 5 minutos docker logs --since 5m <id_ou_nome_do_contêiner> // Acompanhar os logs em tempo real docker logs -f <id_ou_nome_do_contêiner> -
docker exec com redirecionamento de logs ou leitura de arquivos de logs: Se a aplicação escreve logs em arquivos dentro do contêiner, pode-se executar um comando dentro do contêiner para lê-los.
// Executar o comando cat para ler um arquivo de logs dentro do contêiner docker exec <id_ou_nome_do_contêiner> cat /caminho/para/seu/logfile.log // Executar o comando tail -f para acompanhar um arquivo de logs dentro do contêiner docker exec <id_ou_nome_do_contêiner> tail -f /caminho/para/seu/logfile.log -
Sistemas de logging centralizado: Em ambientes de produção, os logs frequentemente são coletados e agregados por sistemas como Elasticsearch, Splunk, Loki ou Graylog. O Docker pode ser configurado para enviar logs diretamente para esses sistemas através de drivers de log específicos.
// Exemplo de configuração do driver de log no docker-compose services: seu_serviço: image: sua_imagem logging: driver: json-file # ou syslog, journald, etc. options: max-size: "10m" max-file: "3" logging: image: elk/elasticsearch # ou outra_imagem_do_sistema_de_logging
A escolha do método depende de onde a aplicação dentro do contêiner escreve seus logs e da arquitetura geral do sistema de monitoramento e logging.