I can’t get the Docker Windows installation to complete. I’ve run the docker for windows InstallDocker.msi for between 20 minutes and 1 hour but the installer isn’t moving past the state shown in the below image.
The MobyLinuxVM has been created but I’m not sure where to go from here as the Docker Engine can’t connect to the VM.
PS> docker ps
An error occurred trying to connect: Get http://%2F%2F%2Fpipe%2Fdocker_engine/1.23/containers/json: open //./pipe/docker_engine: The system cannot find the file specified.
perhaps the logs might provide some insight into installation hangup
If you visit %LOCALAPPDATA%\Docker inside windows explorer, you should hopefully see a log file with a prefix of “install-log” with the datetimestamp appended.
I speculate there are two scenarios:
Hyper-V was enabled prior to beginning installation
Hyper-V was NOT enabled prior to beginning installation
If its scenario one, the installation will proceed to create the Virtual Machine.
If its scenario two, hyper V will be enabled post installation when the docker client first executes.
The log file should be able to give us some more detailed information on this step of “Setting up Docker VM” that is being displayed in the dialog.
Here is a copy of my log file for reference. (hyper V was enabled prior to installation)
Hyper-V was enabled prior to beginning installation. I’ve looked in the installation log ant it turns out the installation completed successfully.
Here is the intallation log.
I’ve killed the installation via Task Manager and it moved on to the installation completed page. I clicked Launch Docker and now it’s having a problem getting an IP address for the VM.
hmm…That message “Wait for the VM to get an IP address” seems to be a common issue.
If Hyper-V is only be used for the Docker Beta, I would suggest removing the virtualSwitch and letting Docker recreate it to see if that helps things along.
One item you might wish to consider, I only suggest if you wish to experiment to see if it gets you over the hump.
Here are the steps I executed locally on my machine.
Stopped Docker for Windows
Opened up Hyper-V Manager
Opened up the Virtual Switch Manager
“Remove” the DockerNAT switch
“Apply” and “OK” on dialog box for the Switch
Then I proceeded to
Start up Docker for Windows
A desktop notification appeared “Docker is initializing…”
After a short bit, we were good to go, Docker recreated the NAT switch.
I’ve tried your suggestion of removing the DockerNAT switch but unfortunatly it came up with an alert that “Hyper-V is not enabled” in the screen shot below. I then clicked the “Install & Restart” but then in came up with “The semaphore time out has expired.” alert in the seconds screen shot below.
I’ve also tried to uninstall and re-install but it has the same effect the “Wait for the VM to get an IP address” again.
I fixed the above problem with Docker not thinking that Hyper-V was enabled, turns out a part of Hyper-V had been disabled (not sure how that happened). I’ve again removed the DockerNAT switch and had Docker for windows re-create it but I’m still getting the issue “Wait for the VM to get an IP address”. I will try unstalling and re-installing it again later today but other than that I’m unsure where to go next.
I ran into the same error by stopping the windows service, and it would not restart.
It eventually resolved after I added an “external” virtual switch, not sure if that was the cause.
Note that I only tried to restart the service as it was hanging onto some file/directory in my compose directory someplace, which meant I could not remove the container/folder from disk. After all the containers are removed, why does it maintain open resources somewhere in the compose process…
I need to constantly pull/build/test/delete full containers without somehow locking up local directories in docker, not sure what’s up with that.