func newDaemonCommand() *cobra.Command { opts := daemonOptions{ daemonConfig: daemon.NewConfig(), common: cliflags.NewCommonOptions(), } cmd := &cobra.Command{ Use: "dockerd [OPTIONS]", Short: "A self-sufficient runtime for containers.", SilenceUsage: true, SilenceErrors: true, Args: cli.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { opts.flags = cmd.Flags() return runDaemon(opts) }, } cli.SetupRootCommand(cmd) flags := cmd.Flags() flags.BoolVarP(&opts.version, "version", "v", false, "Print version information and quit") flags.StringVar(&opts.configFile, flagDaemonConfigFile, defaultDaemonConfigFile, "Daemon configuration file") opts.common.InstallFlags(flags) opts.daemonConfig.InstallFlags(flags) installServiceFlags(flags) return cmd }
func defaultOptions(configFile string) daemonOptions { opts := daemonOptions{ daemonConfig: &daemon.Config{}, flags: &pflag.FlagSet{}, common: cliflags.NewCommonOptions(), } opts.common.InstallFlags(opts.flags) opts.daemonConfig.InstallFlags(opts.flags) opts.flags.StringVar(&opts.configFile, flagDaemonConfigFile, defaultDaemonConfigFile, "") opts.configFile = configFile return opts }