Docker Community Forums

Share and learn in the Docker community.

Windows 1709 Routing Mesh not working


(Dmeier) #1

I have Windows 1709 running in a hyper-v machine, and have enabled mac address spoofing on the hyper-v manager machine for this virtual machine. I installed all the latest updates to 1709:

PS S:\swarm\customer\terrapin> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
microsoft/iis latest 7861f7826955 9 days ago 6.46GB
microsoft/iis windowsservercore-1709 7861f7826955 9 days ago 6.46GB
microsoft/windowsservercore 1709 84364c2ab59e 9 days ago 6.2GB
microsoft/windowsservercore latest 84364c2ab59e 9 days ago 6.2GB
PS S:\swarm\customer\terrapin> docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
PS S:\swarm\customer\terrapin> docker network ls
NETWORK ID NAME DRIVER SCOPE
wtk3lbzg39uh ingress overlay swarm
a6973c66d2f9 nat nat local
bebdfe81748f none null local
pbk9y1iq65bs overlay-terrapin overlay swarm
PS S:\swarm\customer\terrapin> docker service create --network overlay-terrapin --name iistest --hostname iistest --publish published=82,target=80 microsoft/iis:latest ping -t localhost
hbu0sibgrkab858bn825935vc
Since --detach=false was not specified, tasks will be created in the background.
In a future release, --detach=false will become the default.
PS S:\swarm\customer\terrapin> docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
hbu0sibgrkab iistest replicated 1/1 microsoft/iis:latest *:82->80/tcp
PS S:\swarm\customer\terrapin> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bca016ea76c2 microsoft/iis:latest “C:\ServiceMonitor…” 31 seconds ago Up 25 seconds 80/tcp iistest.1.3ifpzz4m6py1zojlxgv4e9dfj
PS S:\swarm\customer\terrapin> docker logs bc
PS S:\swarm\customer\terrapin> curl -uri http://localhost:82 -useb
curl : Unable to connect to the remote server
At line:1 char:1

  • curl -uri http://localhost:82 -useb
  •   + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
      + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
    
    

PS S:\swarm\customer\terrapin> hostname
W1709
PS S:\swarm\customer\terrapin> curl -uri http://W1709:82 -useb
curl : Unable to connect to the remote server
At line:1 char:1

  • curl -uri http://W1709:82 -useb
  •   + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
      + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
    
    

PS S:\swarm\customer\terrapin>

I also tried using the curl command from the hyper-v manager host machine and it failed with the same error: “curl : Unable to connect to the remote server”

What am I doing wrong?


(Andrewsheley) #2

I don’t know if this helps, hopefully it does, but I had a problem getting docker swarm with router mesh working on server 2016 version 1709. I could create the swarm and everything looked good but it wouldn’t expose/publish the port. So I couldn’t access it from a browser. It turns out you have to use the Docker EE Preivew edition to get router mesh to work. Once I installed the preview edition I went through the same steps to create my swarm but this time it worked and I could open my app in the browser. The commands below is what I used to install docker preview from powershell with elevated permissions:

Install-Module DockerProvider -Force
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview -Force