?
This document uses PHP Chinese website manual Release
默認情況下,Docker 捕獲所有容器的標準輸出(和標準錯誤),并使用 JSON 格式將它們寫入文件。JSON 格式用每個行的原點(stdout
或stderr
)及其時間戳注釋。每個日志文件都包含只有一個容器的信息。
使用json-file
驅動程序作為默認日志記錄驅動程序,設置log-driver
和log-opt
控件中的適當值的鍵。daemon.json
文件,該文件位于/etc/docker/
在linux主機上或C:\ProgramData\docker\config\daemon.json
在WindowsServer上。有關+配置Docker的更多信息,請使用daemon.json
,見+daemon.json...
下面的示例將日志驅動程序設置為json-file
并設置max-size
選擇。
{ "log-driver": "json-file", "log-opts": { "max-size": "10m" }}
重新啟動Docker以使更改生效。
屬性設置特定容器的日志記錄驅動程序。--log-driver
旗子docker create
或docker run
*
$ docker run \ -–log-driver json-file --log-opt max-size=10m \ alpine echo hello world
大json-file
日志驅動程序支持以下日志記錄選項:
選項 | 描述 | 示例值 |
---|---|---|
最大尺寸 | 滾動前日志的最大大小。一個正整數(shù)加上一個代表測量單位(k,m或g)的修飾符。默認為-1(無限制)。 | --log-opt max-size = 10m |
最大文件 | 可以存在的最大日志文件數(shù)量。如果滾動日志會創(chuàng)建多余的文件,最舊的文件將被刪除。只有在設置了最大尺寸時才有效。一個正整數(shù)。默認為1。 | --log-opt max-file = 3 |
標簽 | 在啟動Docker守護進程時適用。此守護程序將接受的與日志相關的標簽的逗號分隔列表。用于高級日志標記選項。 | --log-opt labels = production_status,地理位置 |
約 | 在啟動Docker守護進程時適用。這個守護程序將接受的與日志相關的環(huán)境變量的逗號分隔列表。用于高級日志標記選項。 | --log-opt env = os,客戶 |
ENV正則表達式 | 與env類似且兼容。一個正則表達式來匹配與日志相關的環(huán)境變量。用于高級日志標記選項。 | --log-opt env-regex = ^(os | customer)。 |
注*如果
max-size
和max-file
都準備好了,docker logs
只返回最新日志文件中的日志行。
此示例啟動一個alpine
容器,最多可以有3個日志文件,每個不大于10 MB。
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 alpine ash