Как использовать Puppet для настройки демона Docker при запуске сервиса - PullRequest
0 голосов
/ 29 января 2019

Я использую puppet для настройки экземпляра докера.Ниже приведен фрагмент кода, который запускает docker для экземпляра.

  service { 'docker':
    ensure   => running,
    name     => 'docker',
    provider => 'systemd',
    enable   => true,
    require  => [ File['/root/.docker/config.json'], File['/etc/sysconfig/docker'], Package['docker-ce'] ]
  }

В соответствии с документацией docker, вы можете передавать аргументы для установки различных конфигураций при запуске демона docker. Например,

dockerd --icc=false запустит Docker и применит изменения конфигурации для icc.

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

Так, как я могу указать изменения конфигурации как --icc = false при запуске docker, как я в коде марионетки выше ??

1 Ответ

0 голосов
/ 29 января 2019

Итак, как я могу указать изменения конфигурации, например --icc = false, при запуске docker, как я в коде марионетки выше ??

Вы не можете.Представленное вами объявление ресурса гарантирует, что демон Docker работает, но он не выполняет напрямую dockerd, и поэтому не предоставляет механизма для передачи аргументов в двоичный файл демона.Однако , в частности, управляет демоном с помощью systemd, поэтому вы можете сделать то, что вы описали, если Puppet будет управлять соответствующим файлом systemd, но это не сильно отличается от управления daemon.json (через Puppet).вместо этого.

Между прочим, абсолютно нормально управлять конфигурацией (файлом) службы и состоянием запуска этой службы через различные ресурсы Puppet.Обычно каждый также управляет пакетом, предоставляющим услугу, оборачивая все это в модуль.На самом деле уже существует несколько готовых модулей Docker, в том числе , один собранный и поддерживаемый Puppet, Inc., сам по себе .

...