diff --git a/cmd/dockerd/daemon_windows.go b/cmd/dockerd/daemon_windows.go index 9bff9b97cb..e7f41c0861 100644 --- a/cmd/dockerd/daemon_windows.go +++ b/cmd/dockerd/daemon_windows.go @@ -24,7 +24,7 @@ func setDefaultUmask() error { } func getDaemonConfDir(root string) (string, error) { - return filepath.Join(root, `\config`), nil + return filepath.Join(root, "config"), nil } // preNotifyReady sends a message to the host when the API is active, but before the daemon is diff --git a/cmd/dockerd/docker_windows.go b/cmd/dockerd/docker_windows.go index 9295741217..a132bdf285 100644 --- a/cmd/dockerd/docker_windows.go +++ b/cmd/dockerd/docker_windows.go @@ -15,7 +15,7 @@ func runDaemon(opts *daemonOptions) error { // register the service. stop, runAsService, err := initService(daemonCli) if err != nil { - logrus.Fatal(err) + return err } if stop { @@ -24,7 +24,11 @@ func runDaemon(opts *daemonOptions) error { // Windows specific settings as these are not defaulted. if opts.configFile == "" { - opts.configFile = filepath.Join(opts.daemonConfig.Root, `config\daemon.json`) + configDir, err := getDaemonConfDir(opts.daemonConfig.Root) + if err != nil { + return err + } + opts.configFile = filepath.Join(configDir, "daemon.json") } if runAsService { // If Windows SCM manages the service - no need for PID files