Then, I follow the resulted commmand to make the node join in the network. But it failed：
sudo docker swarm join --token SWMTKN-1-57yenz8gevqjr5voo8j58oswwbnojtoffdzd24p91kxbbrmxa3-arphlwto9tk9ncwj00nkv7l8h 172.19.187.96:2800
Error response from daemon: rpc error: code = 14 desc = grpc: the connection is unavailable

if I changed the port from 2800 to 2801 in the command, it is OK.
sudo docker swarm join --token SWMTKN-1-57yenz8gevqjr5voo8j58oswwbnojtoffdzd24p91kxbbrmxa3-arphlwto9tk9ncwj00nkv7l8h 172.19.187.96:2801
This node joined a swarm as a worker.

I felt the strange that the swarm init command gave a result for node join it but user could not follow the result to do it.
BTW, I found there is no processes monitor the 2800 port at that time.

The --listen-addr and --advertise-addr are roughly the same except for one major difference; The former allows you to bind on all of your interfaces (it is the default) while the later is meant for specific, externally reachable interface. You only need to use --listen-addr when you have multiple interfaces and you do not want swarm mode traffic on all of them.

Having said that, in your case you provided both (which is redundant since the IPs are the same), however, you also listed 2 different ports for one single service. You can’t have the node management service on two different ports, so docker chose one of the port to listen. It would be nice if docker provided the correct join message and a warning … anyways, that is the reason you can’t connect on 2800. I would use just the --advertise-addr and default port 2377 (unless default port is taken) and add --listen-addr only if you have multiple interfaces and a business case to segregate traffic/services.

Notice above that the command it gives you to enter to join the swarm includes the port number (2377) after the I.P. Address. This is the error. Instead enter up to the end of the IP address without the port number and it works as per below. Also, be sure to leave off the port number when creating the manager as well. It defaults to the correct port number of 2377.