docker logs 日志原理
生活随笔
收集整理的這篇文章主要介紹了
docker logs 日志原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
參數說明
$ docker logs [OPTIONS] CONTAINER Options:--details 顯示更多的信息-f, --follow 跟蹤日志輸出,最后一行為當前時間戳的日志--since string 顯示自具體某個時間或時間段的日志--tail string 從日志末尾顯示多少行日志, 默認是all-t, --timestamps 顯示時間戳使用方法
$ docker logs 26b12d17fefcnohup: appending output to 'nohup.out'nohup: appending output to 'nohup.out' $ docker logs --tail 1 26b12d17fefcnohup: appending output to 'nohup.out' $ docker logs -t --tail 1 26b12d17fefc2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out' $ docker logs --since 30m 26b12d17fefcnohup: appending output to 'nohup.out' $ docker logs -t --since="2017-07-03T13:58:54.232003809Z" 26b12d17fefc2017-07-03T13:58:54.232003809Z nohup: appending output to 'nohup.out' $ docker logs -t --since="2017-07-03T12:12:29.909710295Z" 26b12d17fefc2017-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日志內容類型?
-
docker自身運行時Daemon的日志內容
-
docker容器的日志內容
docker logs的實現原理?
“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 日志原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Flink 零基础入门(九
- 下一篇: Docker 解决容器时间与主机时间不一