Explorar o código

Solve an issue with the -dns in daemon mode

Guillaume J. Charmes %!s(int64=12) %!d(string=hai) anos
pai
achega
afd325a884
Modificáronse 1 ficheiros con 8 adicións e 8 borrados
  1. 8 8
      docker/docker.go

+ 8 - 8
docker/docker.go

@@ -33,10 +33,7 @@ func main() {
 	bridgeName := flag.String("b", "", "Attach containers to a pre-existing network bridge")
 	pidfile := flag.String("p", "/var/run/docker.pid", "File containing process PID")
 	flHost := flag.String("H", fmt.Sprintf("%s:%d", host, port), "Host:port to bind/connect to")
-
-	flags := flag.NewFlagSet("docker", flag.ContinueOnError)
-	var flDns docker.ListOpts
-	flags.Var(&flDns, "dns", "Set custom dns servers")
+	flDns := flag.String("dns", "", "Set custom dns servers")
 
 	flag.Parse()
 	if *bridgeName != "" {
@@ -70,7 +67,7 @@ func main() {
 			flag.Usage()
 			return
 		}
-		if err := daemon(*pidfile, host, port, *flAutoRestart, flDns); err != nil {
+		if err := daemon(*pidfile, host, port, *flAutoRestart, *flDns); err != nil {
 			log.Fatal(err)
 			os.Exit(-1)
 		}
@@ -109,7 +106,7 @@ func removePidFile(pidfile string) {
 	}
 }
 
-func daemon(pidfile, addr string, port int, autoRestart bool, flDns docker.ListOpts) error {
+func daemon(pidfile, addr string, port int, autoRestart bool, flDns string) error {
 	if addr != "127.0.0.1" {
 		log.Println("/!\\ DON'T BIND ON ANOTHER IP ADDRESS THAN 127.0.0.1 IF YOU DON'T KNOW WHAT YOU'RE DOING /!\\")
 	}
@@ -126,8 +123,11 @@ func daemon(pidfile, addr string, port int, autoRestart bool, flDns docker.ListO
 		removePidFile(pidfile)
 		os.Exit(0)
 	}()
-
-	server, err := docker.NewServer(autoRestart, flDns)
+	var dns []string
+	if flDns != "" {
+		dns = []string{flDns}
+	}
+	server, err := docker.NewServer(autoRestart, dns)
 	if err != nil {
 		return err
 	}