1. 程式人生 > 實用技巧 >Docker從入門到刪除容器 - logs

Docker從入門到刪除容器 - logs

你不看日誌,你怎麼知道容器為什麼溜走了(exit)?

常見用法

  1. 顯示所有log
#顯示某個容器的所有log
docker logs [OPTIONS] <CONTAINER>   

#顯示啟動的所有容器的log
docker-compose logs  
  1. 顯示實時log(此效果和Linux的tail -f filename)一樣,可以把最新的內容重新整理到螢幕上)
docker logs -f <CONTAINER>
  1. 使用tail檢視log尾部
docker logs --tail 20 <CONTAINER>  #檢視容器最新的20條資訊

4.使用grep過濾log

docker logs |grep error
  1. 根據時間檢視log
# 檢視2021-01-01T00:00:00之後的日誌
docker logs --since 2021-01-01T00:00:00 <CONTAINER>  

# 檢視2020-01-01T00:00:00到2021-01-10T00:00:00時間段的日誌
docker logs --since 2021-01-01T00:00:00 --until 2021-01-10T00:00:00 <CONTAINER>  
  1. 組合使用
docker logs --tail 10 <CONTAINER> | grep info

docker logs -f --since xxx --tail 10 <CONTAINER>
  1. 把日誌寫入檔案
docker logs -t <CONTAINER> | grep error >> logs_error.txt

help

docker logs --help
用法:  docker logs [OPTIONS] CONTAINER

獲取一個容器的日誌log

選項:
      --details        顯示日誌的額外資訊
  -f, --follow         跟蹤日誌輸出
      --since string   顯示某時間戳之後的日誌 (e.g. 2013-01-02T13:23:37Z) ,也可以使用相對時間 (e.g. 42m for 42 minutes)
  -n, --tail string    到日誌末尾要顯示的行數 (預設 "all")
  -t, --timestamps     顯示時間戳
      --until string   顯示某個時間戳之前的日誌(e.g. 2013-01-02T13:23:37Z),也可以使用相對時間 (e.g. 42m for 42 minutes)
docker logs --help

Usage:  docker logs [OPTIONS] CONTAINER

Fetch the logs of a container

Options:
      --details        Show extra details provided to logs
  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    Number of lines to show from the end of the logs (default "all")
  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)