diff --git a/api/client/attach.go b/api/client/attach.go index 825543d4f5..9ebd02d760 100644 --- a/api/client/attach.go +++ b/api/client/attach.go @@ -18,8 +18,8 @@ import ( // Usage: docker attach [OPTIONS] CONTAINER func (cli *DockerCli) CmdAttach(args ...string) error { cmd := Cli.Subcmd("attach", []string{"CONTAINER"}, Cli.DockerCommands["attach"].Description, true) - noStdin := cmd.Bool([]string{"#nostdin", "-no-stdin"}, false, "Do not attach STDIN") - proxy := cmd.Bool([]string{"#sig-proxy", "-sig-proxy"}, true, "Proxy all received signals to the process") + noStdin := cmd.Bool([]string{"-no-stdin"}, false, "Do not attach STDIN") + proxy := cmd.Bool([]string{"-sig-proxy"}, true, "Proxy all received signals to the process") cmd.Require(flag.Exact, 1) diff --git a/api/client/build.go b/api/client/build.go index 44e95fb95f..55efc1ba35 100644 --- a/api/client/build.go +++ b/api/client/build.go @@ -52,8 +52,8 @@ func (cli *DockerCli) CmdBuild(args ...string) error { flTags := opts.NewListOpts(validateTag) cmd.Var(&flTags, []string{"t", "-tag"}, "Name and optionally a tag in the 'name:tag' format") suppressOutput := cmd.Bool([]string{"q", "-quiet"}, false, "Suppress the verbose output generated by the containers") - noCache := cmd.Bool([]string{"#no-cache", "-no-cache"}, false, "Do not use cache when building the image") - rm := cmd.Bool([]string{"#rm", "-rm"}, true, "Remove intermediate containers after a successful build") + noCache := cmd.Bool([]string{"-no-cache"}, false, "Do not use cache when building the image") + rm := cmd.Bool([]string{"-rm"}, true, "Remove intermediate containers after a successful build") forceRm := cmd.Bool([]string{"-force-rm"}, false, "Always remove intermediate containers") pull := cmd.Bool([]string{"-pull"}, false, "Always attempt to pull a newer version of the image") dockerfileName := cmd.String([]string{"f", "-file"}, "", "Name of the Dockerfile (Default is 'PATH/Dockerfile')") diff --git a/api/client/commit.go b/api/client/commit.go index 6a837881e8..451813e376 100644 --- a/api/client/commit.go +++ b/api/client/commit.go @@ -21,11 +21,11 @@ func (cli *DockerCli) CmdCommit(args ...string) error { cmd := Cli.Subcmd("commit", []string{"CONTAINER [REPOSITORY[:TAG]]"}, Cli.DockerCommands["commit"].Description, true) flPause := cmd.Bool([]string{"p", "-pause"}, true, "Pause container during commit") flComment := cmd.String([]string{"m", "-message"}, "", "Commit message") - flAuthor := cmd.String([]string{"a", "#author", "-author"}, "", "Author (e.g., \"John Hannibal Smith \")") + flAuthor := cmd.String([]string{"a", "-author"}, "", "Author (e.g., \"John Hannibal Smith \")") flChanges := opts.NewListOpts(nil) cmd.Var(&flChanges, []string{"c", "-change"}, "Apply Dockerfile instruction to the created image") // FIXME: --run is deprecated, it will be replaced with inline Dockerfile commands. - flConfig := cmd.String([]string{"#run", "#-run"}, "", "This option is deprecated and will be removed in a future version in favor of inline Dockerfile-compatible commands") + flConfig := cmd.String([]string{"#-run"}, "", "This option is deprecated and will be removed in a future version in favor of inline Dockerfile-compatible commands") cmd.Require(flag.Max, 2) cmd.Require(flag.Min, 1) diff --git a/api/client/events.go b/api/client/events.go index 435b13e6d9..854bc48a79 100644 --- a/api/client/events.go +++ b/api/client/events.go @@ -16,7 +16,7 @@ import ( // Usage: docker events [OPTIONS] func (cli *DockerCli) CmdEvents(args ...string) error { cmd := Cli.Subcmd("events", nil, Cli.DockerCommands["events"].Description, true) - since := cmd.String([]string{"#since", "-since"}, "", "Show all events created since timestamp") + since := cmd.String([]string{"-since"}, "", "Show all events created since timestamp") until := cmd.String([]string{"-until"}, "", "Stream events until this timestamp") flFilter := opts.NewListOpts(nil) cmd.Var(&flFilter, []string{"f", "-filter"}, "Filter output based on conditions provided") diff --git a/api/client/history.go b/api/client/history.go index 37472bad74..f8a71c870d 100644 --- a/api/client/history.go +++ b/api/client/history.go @@ -23,7 +23,7 @@ func (cli *DockerCli) CmdHistory(args ...string) error { cmd := Cli.Subcmd("history", []string{"IMAGE"}, Cli.DockerCommands["history"].Description, true) human := cmd.Bool([]string{"H", "-human"}, true, "Print sizes and dates in human readable format") quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only show numeric IDs") - noTrunc := cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output") + noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output") cmd.Require(flag.Exact, 1) cmd.ParseFlags(args, true) diff --git a/api/client/images.go b/api/client/images.go index ed001de745..d47deb62d3 100644 --- a/api/client/images.go +++ b/api/client/images.go @@ -25,7 +25,7 @@ func (cli *DockerCli) CmdImages(args ...string) error { cmd := Cli.Subcmd("images", []string{"[REPOSITORY[:TAG]]"}, Cli.DockerCommands["images"].Description, true) quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only show numeric IDs") all := cmd.Bool([]string{"a", "-all"}, false, "Show all images (default hides intermediate images)") - noTrunc := cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output") + noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output") showDigests := cmd.Bool([]string{"-digests"}, false, "Show digests") flFilter := opts.NewListOpts(nil) diff --git a/api/client/inspect.go b/api/client/inspect.go index 37a3bd4056..24688281eb 100644 --- a/api/client/inspect.go +++ b/api/client/inspect.go @@ -26,7 +26,7 @@ var funcMap = template.FuncMap{ // Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...] func (cli *DockerCli) CmdInspect(args ...string) error { cmd := Cli.Subcmd("inspect", []string{"CONTAINER|IMAGE [CONTAINER|IMAGE...]"}, Cli.DockerCommands["inspect"].Description, true) - tmplStr := cmd.String([]string{"f", "#format", "-format"}, "", "Format the output using the given go template") + tmplStr := cmd.String([]string{"f", "-format"}, "", "Format the output using the given go template") inspectType := cmd.String([]string{"-type"}, "", "Return JSON for specified type, (e.g image or container)") size := cmd.Bool([]string{"s", "-size"}, false, "Display total file sizes if the type is container") cmd.Require(flag.Min, 1) diff --git a/api/client/ps.go b/api/client/ps.go index 50d76fbcb4..d76151249c 100644 --- a/api/client/ps.go +++ b/api/client/ps.go @@ -27,10 +27,10 @@ func (cli *DockerCli) CmdPs(args ...string) error { quiet = cmd.Bool([]string{"q", "-quiet"}, false, "Only display numeric IDs") size = cmd.Bool([]string{"s", "-size"}, false, "Display total file sizes") all = cmd.Bool([]string{"a", "-all"}, false, "Show all containers (default shows just running)") - noTrunc = cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output") + noTrunc = cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output") nLatest = cmd.Bool([]string{"l", "-latest"}, false, "Show the latest created container, include non-running") - since = cmd.String([]string{"#sinceId", "#-since-id", "-since"}, "", "Show created since Id or Name, include non-running") - before = cmd.String([]string{"#beforeId", "#-before-id", "-before"}, "", "Show only container created before Id or Name") + since = cmd.String([]string{"-since"}, "", "Show created since Id or Name, include non-running") + before = cmd.String([]string{"-before"}, "", "Show only container created before Id or Name") last = cmd.Int([]string{"n"}, -1, "Show n last created containers, include non-running") format = cmd.String([]string{"-format"}, "", "Pretty-print containers using a Go template") flFilter = opts.NewListOpts(nil) diff --git a/api/client/rm.go b/api/client/rm.go index 9f49a2fd46..cf88c765d3 100644 --- a/api/client/rm.go +++ b/api/client/rm.go @@ -15,7 +15,7 @@ import ( func (cli *DockerCli) CmdRm(args ...string) error { cmd := Cli.Subcmd("rm", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["rm"].Description, true) v := cmd.Bool([]string{"v", "-volumes"}, false, "Remove the volumes associated with the container") - link := cmd.Bool([]string{"l", "#link", "-link"}, false, "Remove the specified link") + link := cmd.Bool([]string{"l", "-link"}, false, "Remove the specified link") force := cmd.Bool([]string{"f", "-force"}, false, "Force the removal of a running container (uses SIGKILL)") cmd.Require(flag.Min, 1) diff --git a/api/client/search.go b/api/client/search.go index bf120cddc7..f02d5fe8b0 100644 --- a/api/client/search.go +++ b/api/client/search.go @@ -27,10 +27,9 @@ func (r ByStars) Less(i, j int) bool { return r[i].StarCount < r[j].StarCount } // Usage: docker search [OPTIONS] TERM func (cli *DockerCli) CmdSearch(args ...string) error { cmd := Cli.Subcmd("search", []string{"TERM"}, Cli.DockerCommands["search"].Description, true) - noTrunc := cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output") - trusted := cmd.Bool([]string{"#t", "#trusted", "#-trusted"}, false, "Only show trusted builds") + noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output") automated := cmd.Bool([]string{"-automated"}, false, "Only show automated builds") - stars := cmd.Uint([]string{"s", "#stars", "-stars"}, 0, "Only displays with at least x stars") + stars := cmd.Uint([]string{"s", "-stars"}, 0, "Only displays with at least x stars") cmd.Require(flag.Exact, 1) cmd.ParseFlags(args, true) @@ -64,7 +63,7 @@ func (cli *DockerCli) CmdSearch(args ...string) error { w := tabwriter.NewWriter(cli.out, 10, 1, 3, ' ', 0) fmt.Fprintf(w, "NAME\tDESCRIPTION\tSTARS\tOFFICIAL\tAUTOMATED\n") for _, res := range results { - if (*automated && !res.IsAutomated) || (int(*stars) > res.StarCount) || (*trusted && !res.IsTrusted) { + if (*automated && !res.IsAutomated) || (int(*stars) > res.StarCount) { continue } desc := strings.Replace(res.Description, "\n", " ", -1) diff --git a/api/client/tag.go b/api/client/tag.go index b2fd059269..12e3535430 100644 --- a/api/client/tag.go +++ b/api/client/tag.go @@ -14,7 +14,7 @@ import ( // Usage: docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] func (cli *DockerCli) CmdTag(args ...string) error { cmd := Cli.Subcmd("tag", []string{"IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]"}, Cli.DockerCommands["tag"].Description, true) - force := cmd.Bool([]string{"f", "#force", "-force"}, false, "Force") + force := cmd.Bool([]string{"f", "-force"}, false, "Force") cmd.Require(flag.Exact, 2) cmd.ParseFlags(args, true) diff --git a/docker/daemon.go b/docker/daemon.go index 9997fb6d18..50b4b42432 100644 --- a/docker/daemon.go +++ b/docker/daemon.go @@ -33,34 +33,9 @@ import ( const daemonUsage = " docker daemon [ --help | ... ]\n" var ( - flDaemon = flag.Bool([]string{"#d", "#-daemon"}, false, "Enable daemon mode (deprecated; use docker daemon)") daemonCli cli.Handler = NewDaemonCli() ) -// TODO: remove once `-d` is retired -func handleGlobalDaemonFlag() { - // This block makes sure that if the deprecated daemon flag `--daemon` is absent, - // then all daemon-specific flags are absent as well. - if !*flDaemon && daemonFlags != nil { - flag.CommandLine.Visit(func(fl *flag.Flag) { - for _, name := range fl.Names { - name := strings.TrimPrefix(name, "#") - if daemonFlags.Lookup(name) != nil { - // daemon flag was NOT specified, but daemon-specific flags were - // so let's error out - fmt.Fprintf(os.Stderr, "docker: the daemon flag '-%s' must follow the 'docker daemon' command.\n", name) - os.Exit(1) - } - } - }) - } - - if *flDaemon { - daemonCli.(*DaemonCli).CmdDaemon(flag.Args()...) - os.Exit(0) - } -} - func presentInHelp(usage string) string { return usage } func absentFromHelp(string) string { return "" } @@ -154,10 +129,7 @@ func (cli *DaemonCli) CmdDaemon(args ...string) error { // warn from uuid package when running the daemon uuid.Loggerf = logrus.Warnf - if *flDaemon { - // allow legacy forms `docker -D -d` and `docker -d -D` - logrus.Warn("please use 'docker daemon' instead.") - } else if !commonFlags.FlagSet.IsEmpty() || !clientFlags.FlagSet.IsEmpty() { + if !commonFlags.FlagSet.IsEmpty() || !clientFlags.FlagSet.IsEmpty() { // deny `docker -D daemon` illegalFlag := getGlobalFlag() fmt.Fprintf(os.Stderr, "invalid flag '-%s'.\nSee 'docker daemon --help'.\n", illegalFlag.Names[0]) diff --git a/docker/daemon_none.go b/docker/daemon_none.go index 995f6a5b6d..0ea188383a 100644 --- a/docker/daemon_none.go +++ b/docker/daemon_none.go @@ -8,9 +8,6 @@ const daemonUsage = "" var daemonCli cli.Handler -// TODO: remove once `-d` is retired -func handleGlobalDaemonFlag() {} - // notifySystem sends a message to the host when the server is ready to be used func notifySystem() { } diff --git a/docker/docker.go b/docker/docker.go index be1f51e5f8..9c4180ce85 100644 --- a/docker/docker.go +++ b/docker/docker.go @@ -57,8 +57,6 @@ func main() { return } - // TODO: remove once `-d` is retired - handleGlobalDaemonFlag() clientCli := client.NewDockerCli(stdin, stdout, stderr, clientFlags) c := cli.New(clientCli, daemonCli) diff --git a/docs/misc/deprecated.md b/docs/misc/deprecated.md index 3d2160edb9..c243137ab5 100644 --- a/docs/misc/deprecated.md +++ b/docs/misc/deprecated.md @@ -70,7 +70,6 @@ are deprecated and replaced with double-dash options (`--opt`): docker ps -sinceId docker rm -link docker run -cidfile - docker run -cpuset docker run -dns docker run -entrypoint docker run -expose @@ -87,6 +86,7 @@ are deprecated and replaced with double-dash options (`--opt`): The following double-dash options are deprecated and have no replacement: + docker run --cpuset docker run --networking docker ps --since-id docker ps --before-id diff --git a/integration-cli/docker_api_inspect_unix_test.go b/integration-cli/docker_api_inspect_unix_test.go index 3120eb67c2..9f459e4ff5 100644 --- a/integration-cli/docker_api_inspect_unix_test.go +++ b/integration-cli/docker_api_inspect_unix_test.go @@ -16,7 +16,7 @@ func (s *DockerSuite) TestInspectApiCpusetInConfigPre120(c *check.C) { testRequires(c, cgroupCpuset) name := "cpusetinconfig-pre120" - dockerCmd(c, "run", "--name", name, "--cpuset", "0-1", "busybox", "true") + dockerCmd(c, "run", "--name", name, "--cpuset-cpus", "0-1", "busybox", "true") status, body, err := sockRequest("GET", fmt.Sprintf("/v1.19/containers/%s/json", name), nil) c.Assert(status, check.Equals, http.StatusOK) diff --git a/integration-cli/docker_cli_daemon_test.go b/integration-cli/docker_cli_daemon_test.go index d6d91c98e4..c25e54bb39 100644 --- a/integration-cli/docker_cli_daemon_test.go +++ b/integration-cli/docker_cli_daemon_test.go @@ -404,37 +404,6 @@ func (s *DockerDaemonSuite) TestDaemonLogLevelWrong(c *check.C) { c.Assert(s.d.Start("--log-level=bogus"), check.NotNil, check.Commentf("Daemon shouldn't start with wrong log level")) } -func (s *DockerSuite) TestDaemonStartWithBackwardCompatibility(c *check.C) { - - var validCommandArgs = [][]string{ - {"--selinux-enabled", "-l", "info"}, - {"--insecure-registry", "daemon"}, - } - - var invalidCommandArgs = [][]string{ - {"--selinux-enabled", "--storage-opt"}, - {"-D", "-b"}, - {"--config", "/tmp"}, - } - - for _, args := range validCommandArgs { - d := NewDaemon(c) - d.Command = "--daemon" - if err := d.Start(args...); err != nil { - c.Fatalf("Daemon should have started successfully with --daemon %v: %v", args, err) - } - d.Stop() - } - - for _, args := range invalidCommandArgs { - d := NewDaemon(c) - if err := d.Start(args...); err == nil { - d.Stop() - c.Fatalf("Daemon should have failed to start with %v", args) - } - } -} - func (s *DockerSuite) TestDaemonStartWithDaemonCommand(c *check.C) { type kind int diff --git a/integration-cli/docker_cli_ps_test.go b/integration-cli/docker_cli_ps_test.go index 6472e14693..3c621511a1 100644 --- a/integration-cli/docker_cli_ps_test.go +++ b/integration-cli/docker_cli_ps_test.go @@ -6,15 +6,14 @@ import ( "os" "os/exec" "path/filepath" + "sort" "strconv" "strings" "time" "github.com/docker/docker/pkg/integration/checker" - "github.com/go-check/check" - "sort" - "github.com/docker/docker/pkg/stringid" + "github.com/go-check/check" ) func (s *DockerSuite) TestPsListContainersBase(c *check.C) { diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index 6e0b819df7..02f268fb85 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -163,15 +163,6 @@ func (s *DockerSuite) TestRunWithoutNetworking(c *check.C) { if exitCode != 1 { c.Errorf("--net=none should've disabled the network; the container shouldn't have been able to ping 8.8.8.8") } - - // And then with the short form -n - out, exitCode, err = dockerCmdWithError("run", "-n=false", image, "ping", count, "1", "8.8.8.8") - if err != nil && exitCode != 1 { - c.Fatal(out, err) - } - if exitCode != 1 { - c.Errorf("-n=false should've disabled the network; the container shouldn't have been able to ping 8.8.8.8") - } } //test --link use container name to link target @@ -209,10 +200,9 @@ func (s *DockerSuite) TestRunLinksContainerWithContainerId(c *check.C) { // Issue 9677. func (s *DockerSuite) TestRunWithDaemonFlags(c *check.C) { - out, _, err := dockerCmdWithError("--exec-opt", "foo=bar", "run", "-i", "-t", "busybox", "true") + out, _, err := dockerCmdWithError("--exec-opt", "foo=bar", "run", "-i", "busybox", "true") if err != nil { - if !strings.Contains(out, "must follow the 'docker daemon' command") && // daemon - !strings.Contains(out, "flag provided but not defined: --exec-opt") { // no daemon (client-only) + if !strings.Contains(out, "flag provided but not defined: --exec-opt") { // no daemon (client-only) c.Fatal(err, out) } } diff --git a/integration-cli/docker_cli_run_unix_test.go b/integration-cli/docker_cli_run_unix_test.go index a3512b9a40..c1fafd110a 100644 --- a/integration-cli/docker_cli_run_unix_test.go +++ b/integration-cli/docker_cli_run_unix_test.go @@ -189,11 +189,6 @@ func (s *DockerSuite) TestRunEchoStdoutWithCPUSharesAndMemoryLimit(c *check.C) { c.Assert(out, checker.Equals, "test\n", check.Commentf("container should've printed 'test'")) } -func (s *DockerSuite) TestRunWithCpuset(c *check.C) { - testRequires(c, cgroupCpuset) - dockerCmd(c, "run", "--cpuset", "0", "busybox", "true") -} - func (s *DockerSuite) TestRunWithCpusetCpus(c *check.C) { testRequires(c, cgroupCpuset) dockerCmd(c, "run", "--cpuset-cpus", "0", "busybox", "true") diff --git a/runconfig/parse.go b/runconfig/parse.go index d87349ec0c..cb3b6aa699 100644 --- a/runconfig/parse.go +++ b/runconfig/parse.go @@ -72,16 +72,15 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe flSecurityOpt = opts.NewListOpts(nil) flLabelsFile = opts.NewListOpts(nil) flLoggingOpts = opts.NewListOpts(nil) - flNetwork = cmd.Bool([]string{"#n", "#-networking"}, true, "Enable networking for this container") - flPrivileged = cmd.Bool([]string{"#privileged", "-privileged"}, false, "Give extended privileges to this container") + flPrivileged = cmd.Bool([]string{"-privileged"}, false, "Give extended privileges to this container") flPidMode = cmd.String([]string{"-pid"}, "", "PID namespace to use") flUTSMode = cmd.String([]string{"-uts"}, "", "UTS namespace to use") flPublishAll = cmd.Bool([]string{"P", "-publish-all"}, false, "Publish all exposed ports to random ports") flStdin = cmd.Bool([]string{"i", "-interactive"}, false, "Keep STDIN open even if not attached") flTty = cmd.Bool([]string{"t", "-tty"}, false, "Allocate a pseudo-TTY") flOomKillDisable = cmd.Bool([]string{"-oom-kill-disable"}, false, "Disable OOM Killer") - flContainerIDFile = cmd.String([]string{"#cidfile", "-cidfile"}, "", "Write the container ID to the file") - flEntrypoint = cmd.String([]string{"#entrypoint", "-entrypoint"}, "", "Overwrite the default ENTRYPOINT of the image") + flContainerIDFile = cmd.String([]string{"-cidfile"}, "", "Write the container ID to the file") + flEntrypoint = cmd.String([]string{"-entrypoint"}, "", "Overwrite the default ENTRYPOINT of the image") flHostname = cmd.String([]string{"h", "-hostname"}, "", "Container host name") flMemoryString = cmd.String([]string{"m", "-memory"}, "", "Memory limit") flMemoryReservation = cmd.String([]string{"-memory-reservation"}, "", "Memory soft limit") @@ -92,7 +91,7 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe flCPUShares = cmd.Int64([]string{"#c", "-cpu-shares"}, 0, "CPU shares (relative weight)") flCPUPeriod = cmd.Int64([]string{"-cpu-period"}, 0, "Limit CPU CFS (Completely Fair Scheduler) period") flCPUQuota = cmd.Int64([]string{"-cpu-quota"}, 0, "Limit CPU CFS (Completely Fair Scheduler) quota") - flCpusetCpus = cmd.String([]string{"#-cpuset", "-cpuset-cpus"}, "", "CPUs in which to allow execution (0-3, 0,1)") + flCpusetCpus = cmd.String([]string{"-cpuset-cpus"}, "", "CPUs in which to allow execution (0-3, 0,1)") flCpusetMems = cmd.String([]string{"-cpuset-mems"}, "", "MEMs in which to allow execution (0-3, 0,1)") flBlkioWeight = cmd.Uint16([]string{"-blkio-weight"}, 0, "Block IO (relative weight), between 10 and 1000") flSwappiness = cmd.Int64([]string{"-memory-swappiness"}, -1, "Tuning container memory swappiness (0 to 100)") @@ -111,19 +110,19 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe cmd.Var(&flAttach, []string{"a", "-attach"}, "Attach to STDIN, STDOUT or STDERR") cmd.Var(&flBlkioWeightDevice, []string{"-blkio-weight-device"}, "Block IO weight (relative device weight)") cmd.Var(&flVolumes, []string{"v", "-volume"}, "Bind mount a volume") - cmd.Var(&flLinks, []string{"#link", "-link"}, "Add link to another container") + cmd.Var(&flLinks, []string{"-link"}, "Add link to another container") cmd.Var(&flDevices, []string{"-device"}, "Add a host device to the container") cmd.Var(&flLabels, []string{"l", "-label"}, "Set meta data on a container") cmd.Var(&flLabelsFile, []string{"-label-file"}, "Read in a line delimited file of labels") cmd.Var(&flEnv, []string{"e", "-env"}, "Set environment variables") cmd.Var(&flEnvFile, []string{"-env-file"}, "Read in a file of environment variables") cmd.Var(&flPublish, []string{"p", "-publish"}, "Publish a container's port(s) to the host") - cmd.Var(&flExpose, []string{"#expose", "-expose"}, "Expose a port or a range of ports") - cmd.Var(&flDNS, []string{"#dns", "-dns"}, "Set custom DNS servers") + cmd.Var(&flExpose, []string{"-expose"}, "Expose a port or a range of ports") + cmd.Var(&flDNS, []string{"-dns"}, "Set custom DNS servers") cmd.Var(&flDNSSearch, []string{"-dns-search"}, "Set custom DNS search domains") cmd.Var(&flDNSOptions, []string{"-dns-opt"}, "Set DNS options") cmd.Var(&flExtraHosts, []string{"-add-host"}, "Add a custom host-to-IP mapping (host:ip)") - cmd.Var(&flVolumesFrom, []string{"#volumes-from", "-volumes-from"}, "Mount volumes from the specified container(s)") + cmd.Var(&flVolumesFrom, []string{"-volumes-from"}, "Mount volumes from the specified container(s)") cmd.Var(&flCapAdd, []string{"-cap-add"}, "Add Linux capabilities") cmd.Var(&flCapDrop, []string{"-cap-drop"}, "Drop Linux capabilities") cmd.Var(&flGroupAdd, []string{"-group-add"}, "Add additional groups to join") @@ -312,12 +311,15 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe } config := &Config{ - Hostname: hostname, - Domainname: domainname, - ExposedPorts: ports, - User: *flUser, - Tty: *flTty, - NetworkDisabled: !*flNetwork, + Hostname: hostname, + Domainname: domainname, + ExposedPorts: ports, + User: *flUser, + Tty: *flTty, + // TODO: deprecated, it comes from -n, --networking + // it's still needed internally to set the network to disabled + // if e.g. bridge is none in daemon opts, and in inspect + NetworkDisabled: false, OpenStdin: *flStdin, AttachStdin: attachStdin, AttachStdout: attachStdout,