4.1 Fundamentos do comando docker logs
O comando docker logs
é uma ferramenta útil pra monitorar e depurar containers. Com ele, devs e administradores de sistemas conseguem visualizar os logs dos containers, o que ajuda a diagnosticar problemas e analisar o funcionamento das aplicações. Nesta aula, vamos explorar em detalhes como usar o comando docker logs
, quais parâmetros estão disponíveis e como gerenciar os logs de maneira eficiente.
O comando docker logs
exibe os logs de um container especificado. Esses logs incluem todas as mensagens gravadas pelos processos dentro do container nos fluxos padrão de saída (stdout)
e de erros (stderr)
.
Sintaxe
docker logs [OPTIONS] CONTAINER
Onde:
-
CONTAINER
: o nome ou identificador do container cujos logs você quer visualizar. -
OPTIONS
: parâmetros adicionais pra configurar a saída dos logs.
Exemplo de uso básico
Este comando vai exibir todos os logs acumulados do container my_container
.
docker logs my_container
4.2 Parâmetros do comando docker logs
O comando docker logs
tem várias opções que permitem configurar a saída de logs de acordo com as suas necessidades.
1. Visualizar logs em tempo real
Para visualizar logs em tempo real, usa-se a opção -f (follow)
. Essa opção permite acompanhar as atualizações dos logs assim que aparecem, como no comando tail -f
.
docker logs -f my_container
2. Limitar a quantidade de linhas exibidas
Você pode limitar o número de linhas exibidas pelo comando docker logs
usando a opção --tail
. Isso é útil se você só precisa das últimas linhas do log, em vez de todo o histórico.
docker logs --tail 100 my_container
Este exemplo exibirá apenas as últimas 100 linhas do log do container my_container
.
3. Exibir logs a partir de um horário específico
A opção --since
permite exibir logs começando de um horário específico. O horário pode ser fornecido no formato de carimbo de tempo (por exemplo, 2023-07-20T15:00:00) ou em formato relativo (como 1h para os logs da última hora).
docker logs --since "2023-07-20T15:00:00" my_container
Ou
docker logs --since 1h my_container
4. Exibir logs até um horário específico
A opção --until
permite exibir logs até um horário específico. O formato do horário é o mesmo da opção --since
.
docker logs --until "2023-07-20T16:00:00" my_container
Ou
docker logs --until 10m my_container
5. Combinar stdout
e stderr
Por padrão, o comando docker logs
exibe tanto o fluxo padrão de saída (stdout)
quanto o fluxo padrão de erros (stderr)
. Você pode especificar quais fluxos exibir, usando as opções --stdout
e --stderr
.
docker logs --stdout my_container
Este exemplo exibirá apenas mensagens do fluxo padrão de saída.
4.3 Exemplos de uso
Exemplo 1: visualizando as últimas linhas de logs e monitorando atualizações
Este exemplo vai mostrar as últimas 50 linhas dos logs do container my_container e monitorar novas entradas em tempo real.
docker logs -f --tail 50 my_container
Exemplo 2: exibindo logs das últimas 24 horas
Este exemplo vai mostrar todos os logs acumulados nas últimas 24 horas para o container my_container
.
docker logs --since 24h my_container
Exemplo 3: exibindo logs de um intervalo de tempo específico
Este exemplo vai mostrar os logs registrados no período entre 15:00 e 16:00 do dia 20 de julho de 2023 para o container my_container
.
docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container
4.4 Cenários práticos
1. Debug de aplicação
Se a sua aplicação não está funcionando direito ou está "quebrando", revisar os logs pode ajudar a diagnosticar o problema. Usa o comando docker logs pra encontrar erros e avisos nos logs.
docker logs my_app_container
2. Monitoramento de servidor
Pra monitorar o funcionamento do servidor em tempo real, você pode usar o comando docker logs
com a opção -f
.
docker logs -f web_server_container
Isso permite acompanhar as requisições e respostas do servidor em tempo real.
3. Análise de performance
Se você quiser analisar a performance da aplicação em um período de tempo específico, use os parâmetros --since
e --until
.
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container
GO TO FULL VERSION