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:
docker logs <container_id_or_name>
Exemplo:
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
):
docker logs -f <container_id_or_name>
Exemplo:
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
:
docker logs --tail <number_of_lines> <container_id_or_name>
Exemplo:
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
:
docker logs --since <timestamp> <container_id_or_name>
Exemplo:
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
:
docker logs --until <timestamp> <container_id_or_name>
Exemplo:
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:
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
:
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
:
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:
docker run --log-driver <driver_name> <container_image>
Exemplo:
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
:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION