Can't get Docker Beta to work

Dang, I thought I had it figured out. I went and deleted my %userprofile%\.docker folder (from a previous Docker install) and this time I was able to run docker commands. But then I was trying to troubleshoot why I seemed to have no network access from inside the docker container so I restarted it. Now I can’t run any docker commands again. No matter what I do I get:

Error response from daemon: dial tcp 10.0.75.2:2375: connectex: A connection attempt failed because the connected party
did not properly respond after a period of time, or established connection failed because connected host has failed to r
espond.

@stevelasker, yes I can pull up the debug console and log in but I’m not sure what to try from in there. At your suggestion, I did run the docker-machine env -u but I got:

Remove-Item : Cannot find path 'Env:\DOCKER_TLS_VERIFY' because it does not exist.
At line:1 char:1
+ Remove-Item Env:\\DOCKER_TLS_VERIFY
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	+ CategoryInfo          : ObjectNotFound: (Env:\DOCKER_TLS_VERIFY:String) [Remove-Item], ItemNotFoundException
	+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Remove-Item : Cannot find path 'Env:\DOCKER_HOST' because it does not exist.
At line:1 char:1
+ Remove-Item Env:\\DOCKER_HOST
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	+ CategoryInfo          : ObjectNotFound: (Env:\DOCKER_HOST:String) [Remove-Item], ItemNotFoundException
	+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Remove-Item : Cannot find path 'Env:\DOCKER_CERT_PATH' because it does not exist.
At line:1 char:1
+ Remove-Item Env:\\DOCKER_CERT_PATH
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	+ CategoryInfo          : ObjectNotFound: (Env:\DOCKER_CERT_PATH:String) [Remove-Item], ItemNotFoundException
	+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Remove-Item : Cannot find path 'Env:\DOCKER_MACHINE_NAME' because it does not exist.
At line:1 char:1
+ Remove-Item Env:\\DOCKER_MACHINE_NAME
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	+ CategoryInfo          : ObjectNotFound: (Env:\DOCKER_MACHINE_NAME:String) [Remove-Item], ItemNotFoundException
	+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

One additional data point. It keeps complaining that it can’t connect to port 2375 so I tried running netstat -ano | grep 2375 and I got this:

  TCP    127.0.0.1:2375         0.0.0.0:0              LISTENING       7096

And PID 7096 does in fact belong to com.docker.proxy.exe.

So I’m not really sure where to go from here?

Running docker ps from INSIDE the debug console does work. So it appears as though my issue is purely a communications issue between my box and the docker daemon.

I should also mention that I have tried turning off Windows Firewall just to rule that out.

Can someone enlighten me as to where Docker is getting that IP (10.0.75.2) from? I tried telnet’ing to port 2375 at that address and, as expected, get no response. But if I do 127.0.0.1, it connects right away.

Another update: changing the Hyper-V switch back to “internal network” has fixed it so I can run docker commands again. I had changed it to private and external to try to fix network connectivity from inside the docker container.

So now I can run docker commands again, but how do I go about getting external access to work to, say, download base images from hub.docker.com? If I can just figure that out, I think I’ll be good!

Hi @taschmidt. No expert or docker employee. Only Docker for Windows beta user. The 10.0.75.2 is the IP the Hyper-V Manager is asigning to the VM that host the docker engine as you can see here:

It’s like there wasn’t anything inside the machine listening at that port. Probably I’m saying something stupid but you said you can run a docker ps inside the machine but as far as I know that is taking care of using the Linux internal sockets, but could you see if the VM machine hast something listeting at that port?

If I run the following command on the VM (Using the Debug Console) I could see a process listening:

Hope that it could be helpful for you!

Could you ping the 10.0.75.2 IP successfully? What about a tracert command to that IP? I paste you my output so we can find anything different here.

Yeah, I can ping it now that I changed the network switch back to internal. Like I said, my only problem now is my docker container doesn’t appear to have any network access. Does yours?

Case in point:

C:\Windows\system32>docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
docker: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy..

Yes, I can download the images form the docker hub repository. What about the process listening inside the Docker VM? Where do you change the network connection to “internal”? I don’t see the option anywhere…

Inside the virtual switch manager from inside the Hyper-V Manager:

My current configuration is Internal Only as well, so I guess that should be the “default/right” configuration value because I don’t have problem going outside with that configuration.

Could you ping google.com from inside your VM? Something is wrong without your output connection…

That’s my ip addr output from inside the VM:

Even could be useful to perform a traceroute inside the machine to an internet target to see in which hop you get stuck.

Could you ping the 10.0.75.1 from the inside of the machine?

Here’s the result of ip addr:

I actually ended up having to uninstall the Docker for Windows beta. Without network access I was dead in the water. I found this thread but all the suggestions broke communication with the VM (i.e. the problem I had before).

1 Like

I’m sad to hear that you uninstall the product :frowning: If you decide to give it a change another time, please let us know, so we can figure it out how to solve it.

Well I’d love to help resolve it but today I had to do some docker stuff for work so I just needed to get up and running and I was out of things to try. I’ll reinstall very soon.

Hi Docker folks

Just downloaded and installed D4W. Super easy install. All went as expected. I ran into essentially the same issue as others here. It wasn’t obvious what IP address to use to connect to the container. We happened to figure it out based on the error message that was shown when we tried to run docker info while the VM wasn’t running and we got the error: Error response from daemon: dial tcp 10.0.75.2:2375: connectex: A connection attempt failed because the connected party
did not properly respond after a period of time, or established connection failed because connected host has failed to r
espond.
That was the only way that we knew what the IP address was. Then I see on the forum here that you can see the IP address if you select the VM in the Hyper-V Manager and then select the Network tab in the bottom pane. It’s pretty obscure. Without docker-machine ip I was a bit lost trying to find the IP address.
It would be great if you guys could improve the discoverability of the IP address. Maybe a docker ip command or make it part of docker info or something.
Thanks!

To connect to containers that are running services, you can use the docker hostname. Eg. http://docker:5000/ for a HTTP service that exposes port 5000. See the getting started doc for details.

Does that work for you?

We know that the transition from docker-machine can be a bit abrupt. We’re working on catching the worst pitfalls, but would also love your ideas for how this could be made more obvious.

Michael

Just going through the process on the Mac now and I see in the docs there that you can run ping docker.local to get the IP address of the container. I tried this on Windows and it resolved at first to the IPv6 address. Running ping -4 docker.local shows the IPv4 address. It would be useful to add that to the Windows version of the documentation.