遊牧民v0.9.1(4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)
無限に成長するDockerログ。 Dockerはログをdockerd --data-root
下に保存します。 遊牧民はそれらを別々に収集しているようで、そこでも素晴らしいログローテーションを実行します。 ただし、ログの実際のソースがクリーンアップされることはありません。 短時間で116GB相当のアクセスログに成長したファイルがすでにあります。ここにdu -h
スニペットがあります。
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log
ログを作成するジョブ
これは、NomadがDockerドライバーからログを収集する方法が最近変更されたことによる副作用のようです。
max-size / max-fileを構成せずに、 syslog
からjson-file
に変更されました。
とりあえず、/ etc / docker /daemon.json内のファイルをローテーションするようにDockerを構成しました
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "2"
}
}
ロギング構成をジョブファイルでドライバーに渡すことができることはわかっていますが、新しく導入されたplugin / docker / configスタンザの下のクライアント構成でもそうできると便利です。
遊牧民のタスクスタンザに追加する方法:
task "redis" {
driver = "docker"
config {
image = "redis:3.2"
port_map {
db = 6379
}
logging {
config {
max-size= "10m",
max-file= "10"
}
}
}
....
はい、そうです! リマインダー@camerondavisonをありがとう!
これに見舞われた場合は、0.9.4-rc1をテストしてください: https :
最も参考になるコメント
これは、NomadがDockerドライバーからログを収集する方法が最近変更されたことによる副作用のようです。
max-size / max-fileを構成せずに、
syslog
からjson-file
に変更されました。とりあえず、/ etc / docker /daemon.json内のファイルをローテーションするようにDockerを構成しました
ロギング構成をジョブファイルでドライバーに渡すことができることはわかっていますが、新しく導入されたplugin / docker / configスタンザの下のクライアント構成でもそうできると便利です。