diff --git a/libnetwork/drivers/bridge/port_mapping_linux.go b/libnetwork/drivers/bridge/port_mapping_linux.go index c3ceb228d1..4445abf5b7 100644 --- a/libnetwork/drivers/bridge/port_mapping_linux.go +++ b/libnetwork/drivers/bridge/port_mapping_linux.go @@ -792,11 +792,20 @@ func releasePortBindings(pbs []portBinding, fwn firewaller.Network) error { func (n *bridgeNetwork) reapplyPerPortIptables() { n.Lock() var allPBs []portBinding + var allEPs []*bridgeEndpoint for _, ep := range n.endpoints { allPBs = append(allPBs, ep.portMapping...) + allEPs = append(allEPs, ep) } n.Unlock() + for _, ep := range allEPs { + netip4, netip6 := ep.netipAddrs() + if err := n.firewallerNetwork.AddEndpoint(context.TODO(), netip4, netip6); err != nil { + log.G(context.TODO()).Warnf("Failed to reconfigure Endpoint: %s", err) + } + } + if err := n.firewallerNetwork.AddPorts(context.Background(), mergeChildHostIPs(allPBs)); err != nil { log.G(context.TODO()).Warnf("Failed to reconfigure NAT: %s", err) }