Nomad: Dockerログは無限に成長します

作成日 2019年06月05日  ·  4コメント  ·  ソース: hashicorp/nomad

遊牧民バージョン

遊牧民v0.9.1(4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)

問題

無限に成長するDockerログ。 Dockerはログをdockerd --data-root下に保存します。 遊牧民はそれらを別々に収集しているようで、そこでも素晴らしいログローテーションを実行します。 ただし、ログの実際のソースがクリーンアップされることはありません。 短時間で116GB相当のアクセスログに成長したファイルがすでにあります。ここにdu -hスニペットがあります。
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log

複製手順

ログを作成するジョブ

themdrivedocker typbug

最も参考になるコメント

これは、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スタンザの下のクライアント構成でもそうできると便利です。

全てのコメント4件

これは、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

このページは役に立ちましたか?
0 / 5 - 0 評価