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