1. 程式人生 > >[譯]如何將docker日誌重定向到單個檔案裡

[譯]如何將docker日誌重定向到單個檔案裡

原文來源: how-to-redirect-docker-logs-to-a-single-file
問題: 我想把某一個docker的log全部匯出到一個檔案裡進行分析,我該怎麼做?

其實不用那樣操作,Docker預設把所有的日誌存在一個log檔案裡面。你可以通過以下命令檢視docker對應log的地址:

docker inspect --format='{{.LogPath}}' containername

顯示日誌的地址:
/var/lib/docker/containers/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334-json.log

vim 開啟日誌,進行分析檢查。

如果重定向日誌,你只能獲得重定向之前的日誌,不能夠獲得時時的日誌資訊。

注:
如果想要在命令列下看到時時的日誌,使用以下命令:

tail -f `docker inspect --format='{{.LogPath}}' containername`

注:
只有在產生了日誌後,/var/lib/docker/containers/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334-json.log這個日誌檔案才會存在,如果沒有日誌則日誌檔案不會存在。這個和我們在命令列執行命令: docker logs containername 中顯示為空一樣。