Преглед на файлове

api: add Hosts to API Config

This makes the API configuration more self-contained.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn преди 3 години
родител
ревизия
717a503590
променени са 2 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 2 0
      api/server/server.go
  2. 5 4
      cmd/dockerd/daemon.go

+ 2 - 0
api/server/server.go

@@ -27,6 +27,8 @@ type Config struct {
 	Version     string
 	SocketGroup string
 	TLSConfig   *tls.Config
+	// Hosts is a list of addresses for the API to listen on.
+	Hosts []string
 }
 
 // Server contains instance details for the server

+ 5 - 4
cmd/dockerd/daemon.go

@@ -639,6 +639,7 @@ func newAPIServerConfig(config *config.Config) (*apiserver.Config, error) {
 		Version:     dockerversion.Version,
 		CorsHeaders: config.CorsHeaders,
 		TLSConfig:   tlsConfig,
+		Hosts:       config.Hosts,
 	}, nil
 }
 
@@ -668,14 +669,14 @@ func checkTLSAuthOK(c *config.Config) bool {
 }
 
 func loadListeners(cli *DaemonCli, serverConfig *apiserver.Config) ([]string, error) {
-	if len(cli.Config.Hosts) == 0 {
+	if len(serverConfig.Hosts) == 0 {
 		return nil, errors.New("no hosts configured")
 	}
 	var hosts []string
 
-	for i := 0; i < len(cli.Config.Hosts); i++ {
-		protoAddr := cli.Config.Hosts[i]
-		protoAddrParts := strings.SplitN(cli.Config.Hosts[i], "://", 2)
+	for i := 0; i < len(serverConfig.Hosts); i++ {
+		protoAddr := serverConfig.Hosts[i]
+		protoAddrParts := strings.SplitN(serverConfig.Hosts[i], "://", 2)
 		if len(protoAddrParts) != 2 {
 			return nil, fmt.Errorf("bad format %s, expected PROTO://ADDR", protoAddr)
 		}