github.com/fabiokung/docker@v0.11.2-0.20170222101415-4534dcd49497/cmd/dockerd/config.go (about) 1 package main 2 3 import ( 4 "github.com/docker/docker/daemon/config" 5 "github.com/docker/docker/opts" 6 "github.com/spf13/pflag" 7 ) 8 9 const ( 10 // defaultShutdownTimeout is the default shutdown timeout for the daemon 11 defaultShutdownTimeout = 15 12 ) 13 14 // installCommonConfigFlags adds flags to the pflag.FlagSet to configure the daemon 15 func installCommonConfigFlags(conf *config.Config, flags *pflag.FlagSet) { 16 var maxConcurrentDownloads, maxConcurrentUploads int 17 18 conf.ServiceOptions.InstallCliFlags(flags) 19 20 flags.Var(opts.NewNamedListOptsRef("storage-opts", &conf.GraphOptions, nil), "storage-opt", "Storage driver options") 21 flags.Var(opts.NewNamedListOptsRef("authorization-plugins", &conf.AuthorizationPlugins, nil), "authorization-plugin", "Authorization plugins to load") 22 flags.Var(opts.NewNamedListOptsRef("exec-opts", &conf.ExecOptions, nil), "exec-opt", "Runtime execution options") 23 flags.StringVarP(&conf.Pidfile, "pidfile", "p", defaultPidFile, "Path to use for daemon PID file") 24 flags.StringVarP(&conf.Root, "graph", "g", defaultGraph, "Root of the Docker runtime") 25 flags.BoolVarP(&conf.AutoRestart, "restart", "r", true, "--restart on the daemon has been deprecated in favor of --restart policies on docker run") 26 flags.MarkDeprecated("restart", "Please use a restart policy on docker run") 27 flags.StringVarP(&conf.GraphDriver, "storage-driver", "s", "", "Storage driver to use") 28 flags.IntVar(&conf.Mtu, "mtu", 0, "Set the containers network MTU") 29 flags.BoolVar(&conf.RawLogs, "raw-logs", false, "Full timestamps without ANSI coloring") 30 // FIXME: why the inconsistency between "hosts" and "sockets"? 31 flags.Var(opts.NewListOptsRef(&conf.DNS, opts.ValidateIPAddress), "dns", "DNS server to use") 32 flags.Var(opts.NewNamedListOptsRef("dns-opts", &conf.DNSOptions, nil), "dns-opt", "DNS options to use") 33 flags.Var(opts.NewListOptsRef(&conf.DNSSearch, opts.ValidateDNSSearch), "dns-search", "DNS search domains to use") 34 flags.Var(opts.NewNamedListOptsRef("labels", &conf.Labels, opts.ValidateLabel), "label", "Set key=value labels to the daemon") 35 flags.StringVar(&conf.LogConfig.Type, "log-driver", "json-file", "Default driver for container logs") 36 flags.Var(opts.NewNamedMapOpts("log-opts", conf.LogConfig.Config, nil), "log-opt", "Default log driver options for containers") 37 flags.StringVar(&conf.ClusterAdvertise, "cluster-advertise", "", "Address or interface name to advertise") 38 flags.StringVar(&conf.ClusterStore, "cluster-store", "", "URL of the distributed storage backend") 39 flags.Var(opts.NewNamedMapOpts("cluster-store-opts", conf.ClusterOpts, nil), "cluster-store-opt", "Set cluster store options") 40 flags.StringVar(&conf.CorsHeaders, "api-cors-header", "", "Set CORS headers in the Engine API") 41 flags.IntVar(&maxConcurrentDownloads, "max-concurrent-downloads", config.DefaultMaxConcurrentDownloads, "Set the max concurrent downloads for each pull") 42 flags.IntVar(&maxConcurrentUploads, "max-concurrent-uploads", config.DefaultMaxConcurrentUploads, "Set the max concurrent uploads for each push") 43 flags.IntVar(&conf.ShutdownTimeout, "shutdown-timeout", defaultShutdownTimeout, "Set the default shutdown timeout") 44 45 flags.StringVar(&conf.SwarmDefaultAdvertiseAddr, "swarm-default-advertise-addr", "", "Set default address or interface for swarm advertised address") 46 flags.BoolVar(&conf.Experimental, "experimental", false, "Enable experimental features") 47 48 flags.StringVar(&conf.MetricsAddress, "metrics-addr", "", "Set default address and port to serve the metrics api on") 49 50 conf.MaxConcurrentDownloads = &maxConcurrentDownloads 51 conf.MaxConcurrentUploads = &maxConcurrentUploads 52 }