運維筆記--docker高效查看後臺日誌

場景描述:linux

應用程序運行在 Docker環境中,
常用的查看後臺日誌的命令是:docker attach 容器名
該命令優勢:實時輸出;
不足之處:日誌大量輸出的時候,屏幕一閃而過,不便於調試,
而且有一個比較嚴重的問題,就是該命令在某些容器環境下,因爲配置不一樣,ctrl+c命令退出的時候,會直接致使該容器中止。docker

其實,docker自身是集成封裝了一些關於查看日誌的命令的,組合使用,可幫助平常快速定位問題:spa

* 顯示全部 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 ****.logcode

$ docker logs -f <CONTAINER>

3. 查看倒數最近的多少條日誌記錄blog

$ docker logs --tail 20 <CONTAINER>

4. grep 過濾 logclass

$ docker logs | grep error

5. 根據時間查看 log容器

如只想查看某個時間點以後的日誌,使用 --since 選項,顯示從指定時間點到最新的日誌:後臺

$ docker logs --since 2019-04-20T15:05:34.483942Z <CONTAINER>

--since指定了開始時間點,還能夠指定結束時間點,使用選項 --until,顯示兩者之間的日誌:

$ docker logs --since 2019-04-20T15:05:34.483942Z --until 2019-04-23T15:05:34.483942Z <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

若是公司有本身的內部日誌分析系統,這裏能夠天天定時採集錯誤日誌,並將錯誤日誌文件,導入日誌系統,分析。

相關文章
相關標籤/搜索