I have a ZeroMQ based logging service, which listens on port 20000 for connections from other services(clients).
The whole setup works fine when the clients connect by tcp://logger_svc:20000, but if the logger_svc restarts and gets another IP, the established connections from all clients go to this state:
TCP 192.168.5.44:49349 192.168.5.37:20000 SYN_SENT
TCP 192.168.5.44:49350 192.168.5.37:20000 SYN_SENT
TCP 192.168.5.44:49351 192.168.5.37:20000 SYN_SENT
And they remain so indefinetelly.
I tried ipconfig /flushdns but it didn’t help. nslookup logger_svc
inside client container returns the new IP.
Nothing helps short of restarting the client services.
The logger_svc is in its own stack/compose file, but it shares the same overlay network with the clients, and has full connectivity until restarted.