CodeGym /Cursos /Docker SELF /Logging de containers

Logging de containers

Docker SELF
Nível 22 , Lição 0
Disponível

6.1 Funções principais do comando docker logs

Fazer log dos containers é uma parte crucial para gerenciar e monitorar aplicações Docker. Os logs ajudam a rastrear o comportamento dos containers, diagnosticar problemas e entender como as aplicações funcionam dentro dos containers. Nesta aula, vamos explorar em detalhes como usar o comando docker logs para fazer log dos containers.

Funções principais do comando docker logs

O comando docker logs é usado para extrair e visualizar os logs dos containers. Ele permite:

  • Ver a saída padrão (stdout) e a saída padrão de erros (stderr) do container.
  • Filtrar e acompanhar os logs em tempo real.
  • Pesquisar e analisar os logs para diagnosticar problemas.

6.2 Usando o comando docker logs

1. Ver logs de um container

Pra ver os logs de um container, usa o comando:

Terminal

docker logs <container_id_or_name>

Exemplo:

Terminal

docker logs my_container 

Esse comando vai mostrar todos os logs do container my_container.

2. Acompanhar logs em tempo real

Pra acompanhar os logs em tempo real, usa a flag -f (ou --follow):

Terminal

docker logs -f <container_id_or_name>

Exemplo:

Terminal

docker logs -f my_container

Esse comando vai mostrar novos logs conforme eles forem aparecendo.

3. Limitar o número de linhas exibidas

Pra limitar o número de linhas que o comando docker logs exibe, usa a flag --tail:

Terminal

docker logs --tail <number_of_lines> <container_id_or_name>

Exemplo:

Terminal

docker logs --tail 10 my_container

Esse comando vai mostrar as últimas 10 linhas dos logs do container my_container.

4. Exibir logs a partir de um horário específico

Pra exibir logs a partir de um horário específico, usa a flag --since:

Terminal

docker logs --since <timestamp> <container_id_or_name>

Exemplo:

Terminal

docker logs --since 2022-01-01T00:00:00 my_container

Esse comando vai mostrar os logs do container my_container a partir de 1 de janeiro de 2022.

5. Exibir logs até um horário específico

Pra exibir logs até um horário específico, usa a flag --until:

Terminal

docker logs --until <timestamp> <container_id_or_name>

Exemplo:

Terminal

docker logs --until 2022-01-02T00:00:00 my_container

Esse comando vai mostrar os logs do container my_container até 2 de janeiro de 2022.

6.3 Exemplos de uso do docker logs

Exemplo 1: Diagnóstico de erro em uma aplicação

Se sua aplicação dentro do container terminou inesperadamente com um erro, você pode usar docker logs para diagnosticar a causa:

Terminal

docker logs my_app_container 

Ver os logs pode te ajudar a entender o que deu errado e por que a aplicação terminou com erro.

Exemplo 2: Monitoramento do serviço

Para monitorar o funcionamento de um serviço web em tempo real, use a flag -f:

Terminal

docker logs -f web_service_container 

Esse comando permitirá que você veja todos os novos logs que chegam no serviço web.

Exemplo 3: Análise de logs em um período específico

Se você precisar analisar os logs de um período específico, use as flags --since e --until:

Terminal

docker logs --since "2023-07-01" --until "2023-07-02" my_app_container 

Esse comando irá mostrar os logs do container my_app_container do dia 1 de julho de 2023.

6.4 Configuração de Drivers de Log no Docker

O Docker suporta vários drivers de log que podem ser configurados para os containers. Os principais drivers de log incluem:

  • json-file: Padrão. Os logs são salvos em arquivos no formato JSON.
  • syslog: Os logs são enviados para o jornal do sistema (syslog).
  • journald: Os logs são enviados para o sistema journald.
  • gelf: Os logs são enviados para servidores que suportam o protocolo GELF (Graylog Extended Log Format).
  • fluentd: Os logs são enviados para o servidor Fluentd.

Instalação do Driver de Log

Para configurar o driver de log, use a flag --log-driver ao iniciar um container:

Terminal

docker run --log-driver <driver_name> <container_image>

Exemplo:

Terminal

docker run --log-driver syslog my_app_image

Este exemplo inicia um container utilizando o driver de log syslog.

Configuração de Parâmetros de Log

Você pode especificar os parâmetros de log utilizando a flag --log-opt:

Terminal

docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION