-
Notifications
You must be signed in to change notification settings - Fork 2k
implement support for daemon --config-file option #3062
Comments
I think that ideally what should be done is to migrate the existing
Nothing wrong with that, in fact I prefer it ;P |
The "new config file" meaning the machine compose/declaration WIP? |
No, the Docker daemon configuration file introduced in 1.10 |
Ah, I see. Yes that would simplify it. This reminds me of something that I neglected to add/discuss: support of docker prior to 1.10. I guess the config file could be translated to the target system either way. Removing all of the old |
Yes, unfortunately at this point and time Machine (or any other tool, really) is not good at seamless migrations between different versions of Docker. |
Although I like the idea of being able to replace all Additionally, an implication of being able to specify a local Thoughts? |
Yeah I would still really like to convert our existing |
@nathanleclaire This is something I would really like to work on but likely won't get the cycles to until July. |
No worries I might try knocking something together if I get some time. |
This is a proposal to simplify the divergence of daemon options persistence across providers by leveraging the new
--config-file
option. Simply put: consistentDaemonOptionsFile
persistence into the location specified by--config-file
.Problem
Prior to Docker 1.10 and the advent of the
--config-file
daemon option, all--engine-*
options passed todocker-machine create
are persisted in ways specific to the provisioner (unit files for systemd, rc files for upstart, ... whatever suse seems to be doing). The--config-file
option allows for us to generate this file in a consistent way across provisioners.Additionally, any conflict in daemon CLI options with options found in the location specified by
--config-file
will prevent the daemon from reloading and/or starting. This means that if you want to leverage the new configuration reloading capabilities of the daemon for nodes provisioned bydocker-machine
you will need to fiddle with them by hand after creation is complete.Proposal
Implement first-class support for persisting all daemon options to this new daemon config file. This would mean supporting a new
--engine-*
option implied by such an entry incommands/create.go
:With the default value assumed to be overridden by provisioner implementations. This would simplify the template definitions for generic/upstart, systemd, suse, etc such that they would only contain the pointer to the daemon configuration file. More importantly, this would also for nodes created via
docker-machine
to be able to leverage the new configuration reloading feature.Potential Issues
Lack of "Native" Support for Configuration Reloading (or more generally, signalling)
docker-machine signal
to send aSIGHUP
(by default, overridable via switch) to the daemon to easily capitalize on this new functionality.docker-machine provision
to send such a signal when only the config file has been updated.Divining
DockerOptionsDir
when--engine-config-file
is specified?Should the value of
DockerOptionsDir
be overridden to be the base path of the specified file?Yes, this is a shameless attempt to copy @nathanleclaire's proposal format as embodied by #2516
The text was updated successfully, but these errors were encountered: