diff --git a/daemon/container_operations.go b/daemon/container_operations.go index 0ae4f98a39..4c6edb72c9 100644 --- a/daemon/container_operations.go +++ b/daemon/container_operations.go @@ -32,8 +32,6 @@ func (daemon *Daemon) buildSandboxOptions(cfg *config.Config, container *contain var ( sboxOptions []libnetwork.SandboxOption err error - dns []string - dnsOptions []string bindings = make(nat.PortMap) pbList []types.PortBinding exposeList []types.TransportPort @@ -56,33 +54,19 @@ func (daemon *Daemon) buildSandboxOptions(cfg *config.Config, container *contain } if len(container.HostConfig.DNS) > 0 { - dns = container.HostConfig.DNS + sboxOptions = append(sboxOptions, libnetwork.OptionDNS(container.HostConfig.DNS)) } else if len(cfg.DNS) > 0 { - dns = cfg.DNS + sboxOptions = append(sboxOptions, libnetwork.OptionDNS(cfg.DNS)) } - - for _, d := range dns { - sboxOptions = append(sboxOptions, libnetwork.OptionDNS(d)) - } - - var dnsSearch []string if len(container.HostConfig.DNSSearch) > 0 { - dnsSearch = container.HostConfig.DNSSearch + sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(container.HostConfig.DNSSearch)) } else if len(cfg.DNSSearch) > 0 { - dnsSearch = cfg.DNSSearch + sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(cfg.DNSSearch)) } - for _, ds := range dnsSearch { - sboxOptions = append(sboxOptions, libnetwork.OptionDNSSearch(ds)) - } - if len(container.HostConfig.DNSOptions) > 0 { - dnsOptions = container.HostConfig.DNSOptions + sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(container.HostConfig.DNSOptions)) } else if len(cfg.DNSOptions) > 0 { - dnsOptions = cfg.DNSOptions - } - - for _, ds := range dnsOptions { - sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(ds)) + sboxOptions = append(sboxOptions, libnetwork.OptionDNSOptions(cfg.DNSOptions)) } if container.NetworkSettings.SecondaryIPAddresses != nil { diff --git a/libnetwork/sandbox.go b/libnetwork/sandbox.go index 91060db34d..6da04993b8 100644 --- a/libnetwork/sandbox.go +++ b/libnetwork/sandbox.go @@ -1068,25 +1068,25 @@ func OptionOriginResolvConfPath(path string) SandboxOption { // OptionDNS function returns an option setter for dns entry option to // be passed to container Create method. -func OptionDNS(dns string) SandboxOption { +func OptionDNS(dns []string) SandboxOption { return func(sb *Sandbox) { - sb.config.dnsList = append(sb.config.dnsList, dns) + sb.config.dnsList = dns } } // OptionDNSSearch function returns an option setter for dns search entry option to // be passed to container Create method. -func OptionDNSSearch(search string) SandboxOption { +func OptionDNSSearch(search []string) SandboxOption { return func(sb *Sandbox) { - sb.config.dnsSearchList = append(sb.config.dnsSearchList, search) + sb.config.dnsSearchList = search } } // OptionDNSOptions function returns an option setter for dns options entry option to // be passed to container Create method. -func OptionDNSOptions(options string) SandboxOption { +func OptionDNSOptions(options []string) SandboxOption { return func(sb *Sandbox) { - sb.config.dnsOptionsList = append(sb.config.dnsOptionsList, options) + sb.config.dnsOptionsList = options } }