您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關docker中logs 日志的原理是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
$ docker logs [OPTIONS] CONTAINER Options: --details 顯示更多的信息 -f, --follow 跟蹤日志輸出,最后一行為當前時間戳的日志 --since string 顯示自具體某個時間或時間段的日志 --tail string 從日志末尾顯示多少行日志, 默認是all -t, --timestamps 顯示時間戳
$ docker logs 26b12d17fefc nohup: appending output to 'nohup.out' nohup: appending output to 'nohup.out'
$ docker logs --tail 1 26b12d17fefc nohup: appending output to 'nohup.out'
$ docker logs -t --tail 1 26b12d17fefc 2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out'
$ docker logs --since 30m 26b12d17fefc nohup: appending output to 'nohup.out' $ docker logs -t --since="2017-07-03T13:58:54.232003809Z" 26b12d17fefc 2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out' $ docker logs -t --since="2017-07-03T12:12:29.909710295Z" 26b12d17fefc 2017-07-03T12:12:29.909710295Z nohup: appending output to 'nohup.out' 2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out'
stdout 標準輸出
stderr 標準錯誤
以json格式存放在容器對于到日志文件中
docker自身運行時Daemon的日志內容
docker容器的日志內容
“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 日志的原理是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。