docker logs 日誌原理

2021-09-27 03:42:57 字數 1081 閱讀 4960

$ docker logs [options] container

options:

--details 顯示更多的資訊

-f, --follow 跟蹤日誌輸出,最後一行為當前時間戳的日誌

--since string 顯示自具體某個時間或時間段的日誌

--tail string 從日誌末尾顯示多少行日誌, 預設是all

-t, --timestamps 顯示時間戳

$ docker logs 26b12d17fefc
$ docker logs --tail 1 26b12d17fefc
$ docker logs -t --tail 1 26b12d17fefc
$ docker logs --since 30m 26b12d17fefc

$ docker logs -t --since="2017-07-03t13:58:54.232003809z" 26b12d17fefc

$ docker logs -t --since="2017-07-03t12:12:29.909710295z" 26b12d17fefc

「docker daemon是docker架構中乙個常駐在後台的系統程序,它在後台啟動了乙個server,server負責接受docker client傳送的請求;接受請求後,server通過路由與分發排程,找到相應的handler來執行請求。–《docker原始碼分析》」

當我們輸入docker logs的時候會轉化為docker client向docker daemon發起請求,docker daemon 在執行容器時會去建立乙個協程(goroutine),繫結了整個容器內所有程序的標準輸出檔案描述符。因此容器內應用的所有只要是標準輸出日誌,都會被 goroutine 接收,docker daemon會根據容器id和日誌型別讀取日誌內容,最終會輸出到使用者終端上並且通過json格式存放在/var/lib/docker/containers目錄下。

docker logs是跟隨容器而產生的,如果刪除了某個容器,相應的日誌檔案也會隨著被刪除

docker logs 檢視容器日誌操作

官方文件 檢視指定數量的實時日誌 docker logs tf tail 日誌條數 容器id docker logs tf tail 10 eaac94ef6926 檢視所有日誌 docker logs 容器id docker logs eaac94ef6926 帶時間戳檢視所有實時日誌 docke...

docker logs 實現剖析

docker完全可以輕易構建使用者的應用,即為 build docker還可以將應用快速分發,即為 ship 最後,docker依然有能力秒級啟動應用,即為 run。build,ship,run,簡單的3步,分分鐘為 devops 建立了管理應用生命週期的捷徑。應用是執行起來了,應用執行後,執行狀態...

docker logs 檢視docker容器日誌

通過docker logs命令可以檢視容器的日誌。docker logs f t tail 100 datacenter 命令格式 docker logs options container options details 顯示更多的資訊 f,follow 跟蹤實時日誌 since string 顯...