天天看點

如何高效檢視 Docker 日志

如何高效檢視 Docker 日志

開發基于 Docker的應用時,用好 log 可以大大提高排錯效率,下面就是幾個常用的 log 操作技巧:

  • 顯示所有 log
  • 顯示實時 log
  • 使用 tail 檢視 log 尾部
  • 使用 grep 過濾 log
  • 根據時間檢視 log
  • 組合使用
  • 把日志寫入檔案

1. 顯示所有 log

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

# 顯示 docker-compose 啟動的所有容器的log
$ docker-compose logs      

2. 顯示實時 log

效果和Linux的 ​

​tail-f filename​

​ 一樣,可以把最新内容重新整理顯示到螢幕上。

$ docker logs -f <CONTAINER>      

3. 使用 tail 檢視 log 尾部

效果和Linux的 ​

​tail-n20filename​

​ 一樣,顯示最後20行的内容。

$ docker logs --tail 20 <CONTAINER>      

4. 使用 grep 過濾 log

例如查找所有包含 “error” 的log:

$ docker logs | grep error      

5. 根據時間檢視 log

比如隻想檢視某個時間點之後的日志,使用 ​

​--since​

​ 選項,顯示從指定時間點到最新的日志:

$ docker logs --since 2018-09-25T12:01:46.452616Z <CONTAINER>      

​--since​

​指定了開始時間點,還可以指定結束時間點,使用選項 ​

​--until​

​,顯示二者之間的日志:

$ docker logs --since 2018-09-25T12:01:48.551341Z --until 2018-09-25T12:01:48.561714Z <CONTAINER>      

6. 組合使用

$ docker logs --tail 10 <CONTAINER> | grep info

$ docker logs -f --since xxx --tail=10 <CONTAINER>      

7. 把日志寫入檔案

$ docker logs -t <CONTAINER> | grep error >> logs_error.txt      

繼續閱讀