dockerd的--config-file选项允许您以JSON格式设置守护程序的任何配置选项。此文件使用相同的标记名称作为关键字,除了标志,使几个条目,它使用标志名的复数,例如,labels对于label标志。
配置文件中设置的选项不得与通过标志设置的选项冲突。如果文件和标志之间的选项重复,则不管其值如何,docker守护程序均无法启动。我们这样做是为了避免默默地忽略配置重载中引入的更改。例如,如果您在配置文件中设置了守护程序标签,并且还通过该--label标志设置了守护程序标签,则守护程序无法启动。守护程序启动时,文件中不存在的选项将被忽略。
Linux上配置文件的默认位置是 /etc/docker/daemon.json。该--config-file标志可用于指定非默认位置。
Windows上配置文件的默认位置是 %programdata%dockerconfigdaemon.json。该--config-file标志可用于指定非默认位置。
可选字段features中daemon.json,用户可以启用或禁用特定守护功能。例如,{"features":{"buildkit": true}}启用buildkit作为默认的Docker映像生成器。
当前支持的功能选项列表:
buildkit:buildkit当设置为true或禁用 时,它将启用为默认生成器false。请注意,如果未在守护程序配置文件中显式设置此选项,则由cli确定要调用哪个构建器。
守护程序运行时可以重新配置某些选项,而无需重新启动进程。我们使用SIGHUPLinux中的信号进行重新加载,并使用Windows中的key进行全局事件Globaldocker-daemon-config-$PID。可以在配置文件中修改选项,但仍会检查与提供的标志是否冲突。如果存在冲突,守护程序将无法重新配置自身,但不会停止执行。