<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker容器日志的種類以及存儲

          共 3061字,需瀏覽 7分鐘

           ·

          2021-05-28 21:39

          須彌零一

          Docker容器日志的種類以及存儲

          作者: Yisany
          原文: https://www.cnblogs.com/yisany/p/13725504.html

          Docker 日志#

          Docker的日志可以分為兩類:

          ?stdout標準輸出日志
          stdout就是標準輸出里面的日志, 比如程序運行時輸出在控制臺的內(nèi)容就會寫入標準輸出
          原理就是當在啟動進程的時候,進程之間有一個父子關(guān)系,父進程可以拿到子進程的標準輸出
          ?文件日志
          直接寫入磁盤的日志, 例如java使用log4j框架直接將日志落盤(不在控制臺輸出)就是典型的文件日志

          所有的容器通過Docker Daemon啟動,實際上屬于Docker的一個子進程, 它可以拿到你的容器里面進程的標準輸出,然后拿到標準輸出之后,會通過它自身的一個叫做 LogDriver 的模塊來處理.
          LogDriver就是Docker用來處理容器標準輸出的一個模塊。Docker支持很多種不同的處理方式,比如你的標準輸出之后,在某一種情況下會把它寫到一個日志里面.

          1. 查看日志

          可以通過 docker logs [containerID] 命令查看容器的日志。
          $ docker logs [OPTIONS] CONTAINER  Options:        --details        顯示更多的信息    -f, --follow         跟蹤實時日志        --since string   顯示自某個timestamp之后的日志,或相對時間,如42m(即42分鐘)        --tail string    從日志末尾顯示多少行日志, 默認是all    -t, --timestamps     顯示時間戳        --until string   顯示自某個timestamp之前的日志,或相對時間,如42m(即42分鐘)

          例子:

          ?查看指定時間后的日志,只顯示最后100行:

          $ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

          ?查看最近30分鐘的日志:

          $ docker logs --since 30m CONTAINER_ID

          ?查看某時間之后的日志:

          $ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

          ?查看某時間段日志:

          $ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

          2. 日志在哪?

          日志一般都會落盤在宿主機的 /var/lib/docker 文件夾下, 具體的信息可以通過 docker inspect 命令查看:
          $ docker inspect [OPTIONS] CONTAINER

          例如:

          $ docker inspect -f {{".LogPath"}} 2be

          輸出:

          /data/docker/containers/2be9b6dc81a557d11d84bc33bf1062462da9b62e59cc9faef9251bdcff26f3ad/2be9b6dc81a557d11d84bc33bf1062462da9b62e59cc9faef9251bdcff26f3ad-json.log

          這就是這個容器的日志記錄文件了

          日志文件相關(guān)信息 

          日志記錄系統(tǒng)一般都可以對日志文件進行拆分, 比如按日期, 按大小等.在Docker的日志記錄系統(tǒng)下也是可以實現(xiàn)的, 默認情況下一個容器會產(chǎn)生一個日志文件, 沒有大小限制, 不會根據(jù)日期拆分, 即從容器啟動到容器銷毀, 日志文件永遠是那一個.
          也可以通過一些配置項進行配置, 例如 json-file 模式:
          選項描述示例值
          max-size日志文件的最大大小, 默認為-1(無限制)--log-opt max-size=10m
          max-file可以存在的最大日志文件數(shù)。如果滾動日志會創(chuàng)建多余的文件,則會刪除最早的文件。僅在max-size設(shè)置時有效。一個正整數(shù)。默認為1。--log-opt max-file=3
          labels在啟動Docker守護程序時適用。該守護程序接受的與日志記錄相關(guān)的標簽的逗號分隔列表。用于高級日志標簽選項。--log-opt labels=production_status,geo
          env在啟動Docker守護程序時適用。該守護程序接受的與日志相關(guān)的環(huán)境變量的逗號分隔列表。用于高級日志標簽選項。--log-opt env=os,customer
          env-regex與相似并兼容env。用于匹配與日志記錄相關(guān)的環(huán)境變量的正則表達式。用于高級日志標簽選項。--log-opt env-regex=^(os|customer).
          compress切換旋轉(zhuǎn)日志的壓縮。默認值為disabled--log-opt compress=true

          3. 配置LogDriver

          Docker官方目前支持這些log driver, 默認使用的是json-file模式:
          DriverDescription
          none丟棄容器輸出
          local日志以自定義格式存儲
          json-file日志存儲格式為json, 默認的logdriver驅(qū)動
          syslog日志寫入到指定的syslog地址
          journald日志寫入到指定jounald
          gelf以gelf格式發(fā)送日志
          fluentd日志發(fā)送到指定的fluentd服務
          awslogs日志發(fā)送到指定的Amazon CloudWatch Logs
          splunk日志發(fā)送到指定的splunk服務
          etwlogs日志發(fā)送到Event Tracing for Windows, 僅支持windows平臺
          gcplogs日志發(fā)送到Google Cloud日志系統(tǒng)
          logentries日志發(fā)送到Rapid7 Logentries
          有兩種方法可以修改docker的LogDriver

          ?修改Docker Daemon, 這樣會對所有容器生效, 以syslog為例:

          dockerd --log-driver=syslog --log-opt syslog-address=127.0.0.1:514

          ?在容器啟動時加上配置項, 這樣配置只會對當前容器生效:

          docker run --log-driver=syslog --log-opt syslog-address=127.0.0.1:514 nginx:laster
          除了上述的這些logdriver, 也可以自定義logdriver, 并且通過docker plugin install進行安裝, 詳情可見: https://docs.docker.com/config/containers/logging/plugins/


          ---- END ----



          歡迎關(guān)注我的公眾號“須彌零一”,更多技術(shù)文章第一時間推送。


          瀏覽 97
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色成人视频免费 | 欧美日韩男女拍拍视频正在播放 | 男女性爱视频免费观看 | 久久青娱乐 | 伊人激情婷婷 |