本地檔案日誌記錄驅動程式

local 日誌驅動程式會捕獲來自容器 stdout/stderr 的輸出,並將它們寫入內部儲存,該儲存針對性能和磁碟使用進行了最佳化。

預設情況下,local 驅動程式會為每個容器保留 100 MB 的日誌訊息,並使用自動壓縮來減小磁碟上的大小。100 MB 的預設值基於每個檔案 20 MB 的預設大小,以及檔案數量的預設值 5(用於記錄日誌輪換)。

警告

local 日誌驅動程式使用基於檔案的儲存。這些檔案旨在由 Docker 守護程式獨佔訪問。使用外部工具與這些檔案互動可能會干擾 Docker 的日誌系統並導致意外行為,應避免這種情況。

使用

要使用 local 驅動程式作為預設日誌驅動程式,請在 daemon.json 檔案中將 log-driverlog-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 以使更改對新建立的容器生效。現有容器不會自動使用新的日誌配置。

您可以使用 --log-driver 標誌為 docker container createdocker run 設定特定容器的日誌驅動程式

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

請注意,local 是 bash 保留關鍵字,因此您可能需要在指令碼中用引號引起來。

選項

local 日誌驅動程式支援以下日誌選項

選項描述示例值
max-size日誌在輪換之前的最大大小。正整數加上表示度量單位的修飾符 (kmg)。預設為 20m。--log-opt max-size=10m
max-file可以存在的日誌檔案的最大數量。如果輪換日誌會建立過多的檔案,則會刪除最舊的檔案。正整數。預設為 5。--log-opt max-file=3
compress切換輪換日誌檔案的壓縮。預設情況下啟用。--log-opt compress=false

示例

此示例啟動一個 alpine 容器,該容器最多可以有 3 個日誌檔案,每個檔案不超過 10 兆位元組。

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash