本機檔案日誌驅動程式

local 日誌驅動程式會擷取容器的標準輸出/標準錯誤(stdout/stderr)輸出,並將其寫入內部儲存空間,該空間針對效能和磁碟使用進行了最佳化。

預設情況下,local 驅動程式會為每個容器保留 100MB 的日誌訊息,並使用自動壓縮來減少磁碟佔用空間。預設的 100MB 數值是基於每個檔案預設大小 20M 以及預設檔案數量為 5(用於日誌輪替)計算得出。

警告

local 日誌驅動程式使用檔案型儲存。這些檔案設計為僅供 Docker 常駐程式(daemon)存取。若使用外部工具與這些檔案互動,可能會干擾 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,使變更對新建立的容器生效。現有的容器不會自動使用新的日誌設定。

您可以透過在 docker container createdocker run 指令中使用 --log-driver 旗標,為特定容器設定日誌驅動程式。

$ 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 個日誌檔案,且每個檔案的大小不超過 10MB。

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.