Browse Source

Merge pull request #7957 from bfirsh/consistent-help-messages

Consistent help messages
Michael Crosby 10 years ago
parent
commit
d9c7c1a7da
2 changed files with 56 additions and 42 deletions
  1. 4 41
      api/client/commands.go
  2. 52 1
      docker/flags.go

+ 4 - 41
api/client/commands.go

@@ -29,6 +29,7 @@ import (
 	"github.com/docker/docker/nat"
 	"github.com/docker/docker/opts"
 	"github.com/docker/docker/pkg/log"
+	flag "github.com/docker/docker/pkg/mflag"
 	"github.com/docker/docker/pkg/parsers"
 	"github.com/docker/docker/pkg/parsers/filters"
 	"github.com/docker/docker/pkg/signal"
@@ -53,47 +54,9 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
 			return nil
 		}
 	}
-	help := fmt.Sprintf("Usage: docker [OPTIONS] COMMAND [arg...]\n -H=[unix://%s]: tcp://host:port to bind/connect to or unix://path/to/socket to use\n\nA self-sufficient runtime for linux containers.\n\nCommands:\n", api.DEFAULTUNIXSOCKET)
-	for _, command := range [][]string{
-		{"attach", "Attach to a running container"},
-		{"build", "Build an image from a Dockerfile"},
-		{"commit", "Create a new image from a container's changes"},
-		{"cp", "Copy files/folders from a container's filesystem to the host path"},
-		{"diff", "Inspect changes on a container's filesystem"},
-		{"events", "Get real time events from the server"},
-		{"export", "Stream the contents of a container as a tar archive"},
-		{"history", "Show the history of an image"},
-		{"images", "List images"},
-		{"import", "Create a new filesystem image from the contents of a tarball"},
-		{"info", "Display system-wide information"},
-		{"inspect", "Return low-level information on a container"},
-		{"kill", "Kill a running container"},
-		{"load", "Load an image from a tar archive"},
-		{"login", "Register or log in to a Docker registry server"},
-		{"logout", "Log out from a Docker registry server"},
-		{"logs", "Fetch the logs of a container"},
-		{"port", "Lookup the public-facing port that is NAT-ed to PRIVATE_PORT"},
-		{"pause", "Pause all processes within a container"},
-		{"ps", "List containers"},
-		{"pull", "Pull an image or a repository from a Docker registry server"},
-		{"push", "Push an image or a repository to a Docker registry server"},
-		{"restart", "Restart a running container"},
-		{"rm", "Remove one or more containers"},
-		{"rmi", "Remove one or more images"},
-		{"run", "Run a command in a new container"},
-		{"save", "Save an image to a tar archive"},
-		{"search", "Search for an image on the Docker Hub"},
-		{"start", "Start a stopped container"},
-		{"stop", "Stop a running container"},
-		{"tag", "Tag an image into a repository"},
-		{"top", "Lookup the running processes of a container"},
-		{"unpause", "Unpause a paused container"},
-		{"version", "Show the Docker version information"},
-		{"wait", "Block until a container stops, then print its exit code"},
-	} {
-		help += fmt.Sprintf("    %-10.10s%s\n", command[0], command[1])
-	}
-	fmt.Fprintf(cli.err, "%s\n", help)
+
+	flag.Usage()
+
 	return nil
 }
 

+ 52 - 1
docker/flags.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"fmt"
 	"os"
 	"path/filepath"
 
@@ -38,5 +39,55 @@ func init() {
 	flCa = flag.String([]string{"-tlscacert"}, filepath.Join(dockerCertPath, defaultCaFile), "Trust only remotes providing a certificate signed by the CA given here")
 	flCert = flag.String([]string{"-tlscert"}, filepath.Join(dockerCertPath, defaultCertFile), "Path to TLS certificate file")
 	flKey = flag.String([]string{"-tlskey"}, filepath.Join(dockerCertPath, defaultKeyFile), "Path to TLS key file")
-	opts.HostListVar(&flHosts, []string{"H", "-host"}, "The socket(s) to bind to in daemon mode\nspecified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.")
+	opts.HostListVar(&flHosts, []string{"H", "-host"}, "The socket(s) to bind to in daemon mode or connect to in client mode, specified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.")
+
+	flag.Usage = func() {
+		fmt.Fprint(os.Stderr, "Usage: docker [OPTIONS] COMMAND [arg...]\n\nA self-sufficient runtime for linux containers.\n\nOptions:\n")
+
+		flag.PrintDefaults()
+
+		help := "\nCommands:\n"
+
+		for _, command := range [][]string{
+			{"attach", "Attach to a running container"},
+			{"build", "Build an image from a Dockerfile"},
+			{"commit", "Create a new image from a container's changes"},
+			{"cp", "Copy files/folders from a container's filesystem to the host path"},
+			{"diff", "Inspect changes on a container's filesystem"},
+			{"events", "Get real time events from the server"},
+			{"export", "Stream the contents of a container as a tar archive"},
+			{"history", "Show the history of an image"},
+			{"images", "List images"},
+			{"import", "Create a new filesystem image from the contents of a tarball"},
+			{"info", "Display system-wide information"},
+			{"inspect", "Return low-level information on a container"},
+			{"kill", "Kill a running container"},
+			{"load", "Load an image from a tar archive"},
+			{"login", "Register or log in to a Docker registry server"},
+			{"logout", "Log out from a Docker registry server"},
+			{"logs", "Fetch the logs of a container"},
+			{"port", "Lookup the public-facing port that is NAT-ed to PRIVATE_PORT"},
+			{"pause", "Pause all processes within a container"},
+			{"ps", "List containers"},
+			{"pull", "Pull an image or a repository from a Docker registry server"},
+			{"push", "Push an image or a repository to a Docker registry server"},
+			{"restart", "Restart a running container"},
+			{"rm", "Remove one or more containers"},
+			{"rmi", "Remove one or more images"},
+			{"run", "Run a command in a new container"},
+			{"save", "Save an image to a tar archive"},
+			{"search", "Search for an image on the Docker Hub"},
+			{"start", "Start a stopped container"},
+			{"stop", "Stop a running container"},
+			{"tag", "Tag an image into a repository"},
+			{"top", "Lookup the running processes of a container"},
+			{"unpause", "Unpause a paused container"},
+			{"version", "Show the Docker version information"},
+			{"wait", "Block until a container stops, then print its exit code"},
+		} {
+			help += fmt.Sprintf("    %-10.10s%s\n", command[0], command[1])
+		}
+		help += "\nRun 'docker COMMAND --help' for more information on a command."
+		fmt.Fprintf(os.Stderr, "%s\n", help)
+	}
 }