如何使用Puppet在服务启动时配置Docker守护程序

时间:2019-01-29 01:47:04

标签: docker configuration config puppet

我正在使用puppet配置docker实例。下面是一个在实例上启动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文件中,并让docker接管,但是我想弄清楚如何在木偶代码中实时进行配置更改。

那么当我以上述木偶代码中的方式启动docker时,如何指定配置更改--icc = false?

1 个答案:

答案 0 :(得分:1)

  

那么当我以上述木偶代码中的方式启动docker时,如何指定配置更改--icc = false?

不能。您提供的资源声明可确保Docker守护程序正在运行,但不会直接执行dockerd,因此不提供将参数传递给守护程序二进制文件的机制。它确实通过systemd 管理,因此,您可以通过让Puppet管理相应的systemd单元文件来完成您描述的操作,但这与管理{{1} }(通过Puppet)代替。

顺便说一句,通过不同的Puppet资源管理服务的配置(文件)和该服务的运行状态是绝对正常的。通常,也要管理提供服务的软件包,将所有内容包装到一个模块中。实际上,已经有几种预制的Docker模块可用,包括one built and maintained by Puppet, Inc., itself