Docker Community Forums

Share and learn in the Docker community.

Swarm mode (init or join) terminating Remote Desktop connections in AWS EC2

swarm
aws

(Guy Davis) #1

Expected behavior

‘docker swarm init’ or ‘docker swarm join’ does not terminate all active Remote Desktop connections.

Actual behavior

The very second I perform the ‘docker swarm init’ or ‘docker swarm join’ command, the Remote Desktop Connection is dropped and never can be re-connected (even after VM reboots).

Information

I’m seeing an issue on Windows Server 2016 #1607 (with all current updates) running Docker 17.06.2-ee-5 in AWS EC2. I open up the ports in Windows Firewall as per Docker Install guidelines.

Steps to reproduce the behavior

Launched ami-5dbc7427: Windows Server 2016 with Containers (private VPC/subnet), then remoted in with RDP, Alternatively, I have also run many tests now with: ami-e3bb7399: Windows_Server-2016-English-Full-Base-2017.10.13
Performed a docker and system upgrade:
o Uninstall-Module DockerMsftProvider -Force
o Install-Module DockerProvider -Force
o Install-Package Docker -ProviderName DockerProvider -Force
o Open up MS Firewall ports in attached PS1.
o sconfig -> Option 6, accept all OS updates. Restart.
o Ensure docker is running and verify with docker version.
o docker swarm init --advertise-addr=10.134.X.X --listen-addr=10.134.X.X:2377

I’ve tried all sorts of combinations of advertise-addr (should be 10.134.X so other VMs can reach on private IP) and listen-addr (shouldn’t be needed) or none at all. Same with if I try to ‘docker join’ to existing Docker Swarm manager (Linux).
o Yes, I get the swarm initialized manager message BUT within a second, I’ve lost RDP access (timeout, retries 20 times to failure)
o After losing RDP, I’m never able to reconnect to that Windows VM, even across restarts.


(Guy Davis) #2

Found it. The problem was the network adapter types in Windows you get if you launch with m4 instance types in EC2. The problem goes away if you use t2 instance types, keeping same Windows AMI. In that case, docker swarm join causes momentary network loss, but reconnects.