本地檔案日誌驅動程式
local
日誌記錄驅動程式捕獲容器 stdout/stderr 的輸出,並將其寫入一個為效能和磁碟使用而最佳化的內部儲存中。
預設情況下,local
驅動程式為每個容器保留 100MB 的日誌訊息,並使用自動壓縮來減少磁碟上的大小。100MB 的預設值是基於每個檔案 20M 的預設大小和預設 5 個此類檔案(以考慮日誌輪轉)的數量計算得出的。
警告
local
日誌記錄驅動程式使用基於檔案的儲存。這些檔案設計為只能由 Docker 守護程序訪問。使用外部工具與這些檔案互動可能會干擾 Docker 的日誌記錄系統並導致意外行為,應避免這樣做。
用法
要將 local
驅動程式用作預設日誌記錄驅動程式,請在 daemon.json
檔案中將 log-driver
和 log-opt
鍵設定為適當的值。該檔案在 Linux 主機上位於 /etc/docker/
,在 Windows Server 上位於 C:\ProgramData\docker\config\daemon.json
。有關使用 daemon.json
配置 Docker 的更多資訊,請參閱 daemon.json。
以下示例將日誌驅動程式設定為 local
並設定 max-size
選項。
{
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}
重啟 Docker 以使更改對新建立的容器生效。現有容器不會自動使用新的日誌記錄配置。
您可以透過對 docker container create
或 docker run
使用 --log-driver
標誌來為特定容器設定日誌記錄驅動程式
$ docker run \
--log-driver local --log-opt max-size=10m \
alpine echo hello world
請注意,local
是 bash 的保留關鍵字,因此您可能需要在指令碼中將其引用起來。
選項
local
日誌記錄驅動程式支援以下日誌記錄選項
選項 | 描述 | 示例值 |
---|---|---|
max-size | 日誌在輪轉之前的最大大小。一個正整數加上一個代表計量單位的修飾符(k 、m 或 g )。預設為 20m。 | --log-opt max-size=10m |
max-file | 可以存在的最大日誌檔案數。如果輪轉日誌建立了多餘的檔案,則會刪除最舊的檔案。一個正整數。預設為 5。 | --log-opt max-file=3 |
compress | 切換輪轉日誌檔案的壓縮。預設啟用。 | --log-opt compress=false |
示例
此示例啟動一個 alpine
容器,該容器最多可以有 3 個日誌檔案,每個檔案不大於 10 MB。
$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash