本地檔案日誌記錄驅動程式
local
記錄驅動程式會擷取容器 stdout/stderr 的輸出,並將它們寫入針對效能和磁碟使用最佳化的內部儲存空間。
根據預設,local
驅動程式會針對每個容器保留 100MB 的記錄訊息,並使用自動壓縮來減少磁碟上的大小。預設值 100MB 是基於每個檔案的預設大小 20MB,以及這類檔案數量的預設計數 5(考量到記錄輪替)。
警告
local
記錄驅動程式使用基於檔案的儲存空間。這些檔案設計為僅供 Docker Daemon 存取。使用外部工具與這些檔案互動可能會干擾 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,讓變更套用至新建立的容器。現有容器不會自動使用新的記錄設定。
您可以使用 --log-driver
旗標搭配 docker container create
或 docker run
來設定特定容器的記錄驅動程式
$ 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