Nomad: Журналы докеров бесконечно растут

Созданный на 5 июн. 2019  ·  4Комментарии  ·  Источник: hashicorp/nomad

Версия Nomad

Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)

Проблема

Бесконечно растущие журналы Docker. Docker хранит журналы под dockerd --data-root . Похоже, Nomad собирает их отдельно, а также выполняет красивую ротацию журналов. Однако фактический источник журналов никогда не очищается. У нас уже есть файл, объем журналов доступа которого вырос до 116 ГБ за короткое время, вот фрагмент du -h :
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log

Шаги воспроизведения

Любая работа по изготовлению журналов

themdrivedocker typbug

Самый полезный комментарий

Похоже, это побочный эффект недавних изменений в том, как Nomad собирает журналы из драйвера Docker.
Он изменился с syslog на json-file , без настройки max-size / max-file.

На данный момент я настроил Docker на ротацию файлов в /etc/docker/daemon.json.

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "2"
  }
}

Я знаю, что могу передать конфигурацию ведения журнала драйверу в файле задания, но было бы неплохо иметь возможность сделать это и в конфигурации клиента, в рамках недавно представленной строфы plugin / docker / config.

Все 4 Комментарий

Похоже, это побочный эффект недавних изменений в том, как Nomad собирает журналы из драйвера Docker.
Он изменился с syslog на json-file , без настройки max-size / max-file.

На данный момент я настроил Docker на ротацию файлов в /etc/docker/daemon.json.

{
  "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://groups.google.com/d/msg/nomad-tool/Zi2I7P-PWo0/yAPFPmgLDQAJ

Была ли эта страница полезной?
0 / 5 - 0 рейтинги