diff --git a/components/engine/hack/dockerfile/install/proxy.installer b/components/engine/hack/dockerfile/install/proxy.installer index f4196934b8d..65ebeba0a83 100755 --- a/components/engine/hack/dockerfile/install/proxy.installer +++ b/components/engine/hack/dockerfile/install/proxy.installer @@ -3,7 +3,7 @@ # LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When # updating the binary version, consider updating github.com/docker/libnetwork # in vendor.conf accordingly -LIBNETWORK_COMMIT=9ff9b57c344df5cd47443ad9e65702ec85c5aeb0 +LIBNETWORK_COMMIT=5ac07abef4eee176423fdc1b870d435258e2d381 install_proxy() { case "$1" in diff --git a/components/engine/vendor.conf b/components/engine/vendor.conf index 0719a40d84a..6b4df6046cf 100644 --- a/components/engine/vendor.conf +++ b/components/engine/vendor.conf @@ -39,7 +39,7 @@ github.com/gofrs/flock 7f43ea2e6a643ad441fc12d0ecc0 # libnetwork # When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly -github.com/docker/libnetwork 9ff9b57c344df5cd47443ad9e65702ec85c5aeb0 +github.com/docker/libnetwork 5ac07abef4eee176423fdc1b870d435258e2d381 github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80 github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec diff --git a/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/port_mapping.go b/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/port_mapping.go index 51791fd1116..4ad25c1e79d 100644 --- a/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/port_mapping.go +++ b/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/port_mapping.go @@ -48,6 +48,12 @@ func allocatePort(portMapper *portmapper.PortMapper, bnd *types.PortBinding, con err error ) + // Windows does not support a host ip for port bindings (this is validated in ConvertPortBindings()). + // If the HostIP is nil, force it to be 0.0.0.0 for use as the key in portMapper. + if bnd.HostIP == nil { + bnd.HostIP = net.IPv4zero + } + // Store the container interface address in the operational binding bnd.IP = containerIP diff --git a/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/windows.go b/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/windows.go index c8ab047592a..b8a5f73b967 100644 --- a/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/windows.go +++ b/components/engine/vendor/github.com/docker/libnetwork/drivers/windows/windows.go @@ -462,7 +462,7 @@ func ConvertPortBindings(portBindings []types.PortBinding) ([]json.RawMessage, e return nil, fmt.Errorf("Windows does not support more than one host port in NAT settings") } - if len(elem.HostIP) != 0 { + if len(elem.HostIP) != 0 && !elem.HostIP.IsUnspecified() { return nil, fmt.Errorf("Windows does not support host IP addresses in NAT settings") }