Docker daemon error on joining swarm node - could not find local IP address - unknown port Consider the following setup:

Three hosts in the same network:


Host A - SLES 
Host B - Ubuntu
Host C - Ubuntu


Then, the following has worked:


Init swarm on A
Join swarm at B, make B a manager


The following is however not working:


Join swarm at C as worker with token issued from A
Join swarm at C as worker with token issued from B


In both cases we get the same error:

Error response from daemon: could not find local IP address: 
dial udp: address udp/2377​: unknown port


Honestly, I have even no idea how to interpret this message.

Any ideas?..

UPD. nmap results for ports 2377,4789,7946 (hint from Felipe in a comment below) - no idea what are they good for but now it is clear that something is wrong with host C. 

Host A (Primary manager)

PORT     STATE  SERVICE
2377/tcp open   unknown
4789/tcp closed unknown
7946/tcp open   unknown


Host B (Secondary manager)

PORT     STATE  SERVICE
2377/tcp open   unknown
4789/tcp closed unknown
7946/tcp open   unknown


Host C (should become a worker)

PORT     STATE  SERVICE
2377/tcp closed unknown
4789/tcp closed unknown
7946/tcp closed unknown


Host D (successfully added as a worker)

PORT     STATE  SERVICE
2377/tcp closed unknown
4789/tcp closed unknown
7946/tcp open   unknown


Finally, with host B there is the actual problem.


swarm init => OK; port 2377 is open
swarm leave => port is closed again
swarm join => error "port not found"
Could you please try the commands above between all hosts ?

INSIDE HOST A: 

nc -zv HOST_B_IP_ADDRESS 2377,4789,7946
nc -zv HOST_C_IP_ADDRESS 2377,4789,7946


INSIDE HOST B: 

nc -zv HOST_A_IP_ADDRESS 2377,4789,7946
nc -zv HOST_C_IP_ADDRESS 2377,4789,7946


INSIDE HOST C: 

nc -zv HOST_A_IP_ADDRESS 2377,4789,7946
nc -zv HOST_B_IP_ADDRESS 2377,4789,7946


As explained in https://docs.docker.com/engine/swarm/swarm-tutorial/#open-protocols-and-ports-between-the-hosts, some ports must be available between hosts in order for Docker Swarm to work correctly.

The error reported sounds like a port related problem. 
Maybe is there another application in one of these hosts already using one of the ports needed by Docker ? Maybe a firewall configuration ?