소스 검색

Support running 'docker help daemon'

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Daniel Nephin 9 년 전
부모
커밋
2777f884f6
1개의 변경된 파일8개의 추가작업 그리고 2개의 파일을 삭제
  1. 8 2
      cmd/docker/daemon_unix.go

+ 8 - 2
cmd/docker/daemon_unix.go

@@ -11,8 +11,14 @@ import (
 
 // CmdDaemon execs dockerd with the same flags
 func (p DaemonProxy) CmdDaemon(args ...string) error {
-	// Use os.Args[1:] so that "global" args are passed to dockerd
-	args = stripDaemonArg(os.Args[1:])
+	// Special case for handling `docker help daemon`. When pkg/mflag is removed
+	// we can support this on the daemon side, but that is not possible with
+	// pkg/mflag because it uses os.Exit(1) instead of returning an error on
+	// unexpected args.
+	if len(args) == 0 || args[0] != "--help" {
+		// Use os.Args[1:] so that "global" args are passed to dockerd
+		args = stripDaemonArg(os.Args[1:])
+	}
 
 	binaryPath, err := findDaemonBinary()
 	if err != nil {