ITNOA
- I have tried with the latest version of Docker Desktop
- I have tried disabling enabled experimental features
- I have uploaded Diagnostics
- Diagnostics ID: 9C071691-ABCF-4A7A-A88A-DC7795DA4671/20210902100300
Actual behavior
Docker Engine does not start
Expected behavior
After booting my computer, I expected to start Docker Engine correctly
Information
-
Is it reproducible? Yes, after every reboot, or trying to start manually
-
Is the problem new? yes
-
Did the problem appear with an update? No (but this problem is occur when I install new Windows Cumulative Update 2021/09
-
Windows Version: Windows 10 Version 21H1 (OS Build 19043.1202)
-
Docker Desktop Version: 4.0.0 (67817)
-
WSL2 or Hyper-V backend? I use Windows Container (but WSL 2 based engine is enable in setting)
-
Are you running inside a virtualized Windows e.g. on a cloud server or a VM: No
My docker settings like below
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": false,
"experimental": false,
"data-root": "N:/Docker"
}
Steps to reproduce the behavior
- Try to run Docker Desktop
- Docker Desktop try to start Docker Engine
- Docker Engine failed to start after couple of minutes
- I cannot do anything
System.ServiceProcess.TimeoutException:
Time out has expired and the operation has not been completed.
at System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(Settings settings, String args, Dictionary`2 env) in C:workspacesPR-16319srcgithub.comdockerpinatawinsrcDocker.BackendProcessesWindowsDockerDaemon.cs:line 210
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__0(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()
Issue
Docker Desktop will not start after Install or an upgrade with an error Docker engine failed to start.
Docker Desktop version: 3.5.1 (66501)
Windows Version: Windows 10 20H2
Opening Docker Desktop will start with this state
After sometime it will get into this state
Error Details
The possible error screens and messages. Typically it comes as a pop-up when the Docker fails.
Docker.ApiServices.StateMachines.InvalidTransitionException:
Cannot stop from an unstable state at Docker.ApiServices.StateMachines.UnstableState.Docker.ApiServices.StateMachines.IInternalEngineState.BeginStopAsync() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesUnstableState.cs:line 36
at Docker.ApiServices.StateMachines.EngineStateMachine.d__15.MoveNext() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesEngineStateMachine.cs:line 78
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Engines.Engines.d__26.MoveNext() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.DesktopEnginesEngines.cs:line 264
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at Docker.Core.Cmd.Run(String filename, String arguments) in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.CoreCmd.cs:line 36
at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(Settings settings, String args, Dictionary2 env) in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.BackendProcessesWindowsDockerDaemon.cs:line 200 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__0(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary
2 arguments, CancellationToken cancellationToken)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
Analysis
Tried following the steps to fix the issue
- Restart Docker Desktop that helps most of the time
- Windows reboot, welcome to the world of Microsoft
- Next uninstall, Reboot and Re-Install Docker Desktop (This cleared all the image cache)
None of the steps helped solving the issue. I started investigating the logs and the two windows services responsible for the docker to function properly. This could be verified by executing services.msc from windows run prompt.
I noticed the Docker Engine services missing and I picked up the service details from a working machine. I have listed for reference.
- «C:Program FilesDockerDockercom.docker.service»
- «C:P/r/ogram FilesDockerDockerresourcesdockerd.exe» —run-service —service-name docker -G docker-users —config-file C:ProgramDataDockerDesktoptmp-d4wdaemon.json
Opened a powershell window and tried to execute the second service mentioned above and it threw an error the panic.log file access is denied.
I opened the log file and noticed similar access denied error.
Solution
Method 1
Open the following path in run prompt %ProgramData%/Docker and I renamed the panic.log file name to panic_old.log and tried opening the Docker desktop that will fix the issue.
Method 2
Do method one and try to execute the command in powershell and then open the Docker Desktop.
«C:Program FilesDockerDockerresourcesdockerd.exe» —run-service —service-name docker -G docker-users —config-file C:ProgramDataDockerDesktoptmp-d4wdaemon.json
Method 3
This issue is specific to version 3.6 where they fixed a vulnerability.
Remove the read only flag for the panic.log file in the following location %ProgramData%/Docker.
Ref:
https://nvd.nist.gov/vuln/detail/CVE-2021-37841
The issue might reappear after a system reboot. Delete the panic.log file and startup again. I will post if I find a permanant solution.
Update 9/7/2021:
Relase 4.0 has fixed the access issue.
Fixed a bug when switching from Linux to Windows containers due to access rights on panic.log
https://docs.docker.com/desktop/windows/release-notes/
Credits
Thanks for sharing their issue and possible fixes.
https://sitecorechat.slack.com/archives/C5VQ5SVKJ/p1629125020133400
https://twitter.com/longhorntaco
https://twitter.com/maartenwillebr1
https://twitter.com/techphoria414
https://stackoverflow.com/users/11822466/gskkc
Subscribe to Bala Blog (bala.one) | Sitecore MVP | Sitecore | OrderCloud | Coveo | Azure
Get the latest posts delivered right to your inbox
Today let’s check on the Docker engine failed to start windows 10 wsl2 article by our Docker Hosting Support Services at Bobcares.
Docker engine failed to start windows 10 wsl2
Let’s check on the solution for Docker on the Windows10 local machine not starting with administrator privileges. This is due to the WSL2 installation was not properly completed.
The Solution for the Docker failed to start windows 10 wsl2
- To install this, you need to download the WSL2 Linux kernel update package for x64 machines from the Microsoft page.
- Click on the download option and execute.
- Double-click on the downloaded executable and install it using the administrative privileges.
- Once done, restart the docker.
- You will now see the docker up and running through the dashboard.
- Try running a container. Copy and paste the below command into the terminal.
docker run -d -p 80:80 docker/getting-started
By this, the Docker container is up and running.
[Looking for a solution to another query? We are just a click away.]
Conclusion
To sum up, from this article you have checked the solution for the Docker failed to start windows 10 wsl2.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
Spend time on your business, not on your servers.
Managing a server is time consuming. Whether you are an expert or a newbie, that is time you could use to focus on your product or service. Leave your server management to us, and use that time to focus on the growth and success of your business.
TALK TO US Or click here to learn more.
Executing docker version
command on Windows returns the following results:
C:Projects> docker version
Client:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.3
Git commit: d8d3314
Built: Tue Nov 1 03:05:34 2016
OS/Arch: windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Running the diagnostics produces the following:
C:Projects> wget https://github.com/Microsoft/Virtualization-
Documentation/raw/master/windows-server-container-tools/Debug-
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex
Checking for common problems
Describing Windows Version and Prerequisites
[+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
[+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
[+] Is not a build with blocking issues 29ms
Describing Docker is installed
[-] A Docker service is installed - 'Docker' or 'com.Docker.Service' 134ms
Expected: value to not be empty
27: $services | Should Not BeNullOrEmpty
at <ScriptBlock>, <No file>: line 27
[+] Service is running 127ms
[+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
[+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
[-] Do not have DisableVSmbOplock set to 1 53ms
Expected: {0}
But was: {1}
66: $regvalue.VSmbDisableOplocks | Should Be 0
at <ScriptBlock>, <No file>: line 66
[+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
[-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
at <ScriptBlock>, <No file>: line 90
Describing Container network is created
[-] Error occurred in Describe block 1.08s
RuntimeException: Cannot index into a null array.
at <ScriptBlock>, <No file>: line 119
Showing output from: docker info
Showing output from: docker version
Client:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.3
Git commit: d8d3314
Built: Tue Nov 1 03:05:34 2016
OS/Arch: windows/amd64
Showing output from: docker network ls
Warnings & errors from the last 24 hours
Logs saved to C:Projectslogs_20161107-084122.csv
C:Projects>
Lii
11.5k8 gold badges62 silver badges85 bronze badges
asked Nov 7, 2016 at 6:46
8
The error is related to that part:
In the default daemon configuration on Windows, the docker client must
be run elevated to connect
-
First, verify that
Docker Desktop
application is running. If not, launch it: that will run the docker daemon (just wait few minutes). -
Then, if the error still persist, you can try to switch Docker daemon type, as explained below:
With Powershell:
- Open Powershell as administrator
- Launch command:
& 'C:Program FilesDockerDockerDockerCli.exe' -SwitchDaemon
OR, with cmd:
- Open cmd as administrator
- Launch command:
"C:Program FilesDockerDockerDockerCli.exe" -SwitchDaemon
answered Apr 6, 2020 at 15:00
vebenveben
17.7k14 gold badges62 silver badges78 bronze badges
20
I had the same problem.
Starting the docker daemon resolved the issue. Just search for docker pressing windows key and click on «Docker Dekstop». Daemon should be running in a minute.
After starting up Docker Desktop, make sure the docker daemon status in the bottom left is green and shows RUNNING when you hover over it.
answered May 7, 2020 at 4:46
Pradeep SanjeewaPradeep Sanjeewa
1,6631 gold badge13 silver badges25 bronze badges
3
You can run "C:Program FilesDockerDockerDockerCli.exe" -SwitchDaemon
and point Docker CLI to either Linux or Windows containers. This worked for me.
Chloe
24.3k38 gold badges175 silver badges345 bronze badges
answered Mar 17, 2018 at 7:01
JdoeJdoe
8736 silver badges3 bronze badges
3
Error Code:
error during connect: Get
http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version: open
//./pipe/docker_engine: The system cannot find the file specified. In the
default daemon configuration on Windows, the docker client must be run
elevated to connect . This error may also indicate that the docker
daemon is not running.
Solutions:
1) For Windows 7 Command Window(cmd.exe), open cmd.exe with run as administrator and execute following command:
docker-machine env --shell cmd default
You will receive following output:
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:UsersUSER_NAME.dockermachinemachinesdefault
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
Copy the command below and execute on cmd:
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
And then execute following command to control:
docker version
2) For Windows 7 Powershell, open powershell.exe with run as administrator and execute following command:
docker-machine env --shell=powershell | Invoke-Expression
And then execute following command to control:
docker version
3) If you reopen cmd or powershell, you should repeat the related steps again.
answered Jun 14, 2017 at 6:54
javaseniorjavasenior
1,7362 gold badges24 silver badges25 bronze badges
4
If you see docker desktop is STOPPED or Not Running screen at left side bottom, then do following
- Open PowerShell with – Run as Administrator
- Close Docker Desktop if it is open
- Execute the following command on PowerShell
“&'C:Program FilesDockerDockerDockerCli.exe' -SwitchDaemon”
- Open Docker Desktop, it will get started.
I was facing this issue. I tried the above-mentioned steps and it worked for me. Thanks!
answered Apr 26, 2021 at 5:44
0
I know this question was long ago but I found no proper explanation and solution, so hopefully, my answer is useful
Assuming you install Docker Toolbox on Windows, both docker
and docker-machine
commands will be available. Often, people get confused when to use either of these.
The docker
commands are used only within a virtual machine to manage images. The docker-machine
commands are used on the host to manage the Linux VMs.
So, please use docker-machine
commands on your Windows machine. Use docker
command inside your VM. To use the docker
commands, for example, docker ps
, you either can open Docker Quickstart Terminal or run these on your cmd/bash/PowerShell:
docker-machine run default
/assuming default is your Linux VM/
docker-machine ssh default
This will start boot2docker and you will see the docker icon on the command line. Then you can use docker
commands.
Good luck
answered Mar 1, 2018 at 1:34
1
1.- Open the location of the shortcut:
2.- Right click and properties and add «-SwitchDaemon» to destiny
3.- Give administrator permissions, advanced options:
4.- Restart windows.
answered May 28, 2021 at 20:46
Try resolving the issue with either of the following options:
Option A
Start-Service "Hyper-V Virtual Machine Management"
Start-Service "Hyper-V Host Compute Service"
or
Option B
-
Open «Window Security»
-
Open «App & Browser control»
-
Click «Exploit protection settings» at the bottom
-
Switch to «Program settings» tab
-
Locate «C:WINDOWSSystem32vmcompute.exe» in the list and expand it
-
Click «Edit»
-
Scroll down to «Code flow guard (CFG)» and uncheck «Override system settings»
-
Start vmcompute from powershell «net start vmcompute»
-
Then restart your system
KyleMit♦
36.4k63 gold badges440 silver badges635 bronze badges
answered Jul 17, 2019 at 4:24
MayankGaurMayankGaur
89711 silver badges21 bronze badges
2
I got the same error for Docker version 19.03.12 and Windows 10. Resolved it by going through the below steps. Hope it helps others.
- Go to Windows Start -> Search Box (Type here to search). There
enter ‘Services‘. Among the listed items, click Services app. - Now search ‘Docker Desktop Service‘ in the Services window opened. Right click on it and Start the service. Its status should be changed to ‘Running‘.
- If step 2 gives error like ‘the dependency service failed to start‘, then start all dependency services. For me, I had to start a service called ‘Server‘.
- Double click ‘Docker Desktop‘ icon in desktop. Now you will see ‘Docker Desktop is running‘ in system tray.
- Now run the command ‘docker version‘ from Command Prompt or PowerShell. It should give clean output.
- If any issue in step 5, run Command Prompt or PowerShell as administrator.
Above resolution assumes Docker is already installed and Hyper-V / Virtualization is enabled in your system.
answered Sep 4, 2020 at 16:33
RLDRLD
1,7673 gold badges13 silver badges20 bronze badges
2
For me on Windows 11, editing %APPDATA%Dockersettings.json
to the following values and then restarting Docker Desktop did the trick (I am using WSL2, not Hyper-V):
answered Feb 11, 2022 at 18:20
ayunami2000ayunami2000
4235 silver badges10 bronze badges
I have faced same issue, it may be issue of administrator, so followed below steps to setup docker on
windows10
.
- Download docker desktop from docker hub after login to docker.
Docker Desktop Installer.exe
file will be downloaded. - Install
Docker Desktop Installer.exe
usingRun as administrator
-> Mark windows container during installation else it will only install linux container. It will ask for Logout after logging out and login it shows docker desktop in menu. - After install, go to -> computer management -> Local users and groups -> Groups -> docker-user -> Add user in members
- Run docker desktop using
Run as administrator
- Check docker whale icon in Notification tab
- run command >docker version
Successfully using docker without any issue.
answered Nov 27, 2019 at 7:03
1
I had the same issue in the terminal right after installation of Docker Desktop 4.7.1 running with WSL 2 backend. The tray whale icon was not showing either.
In my case the problem was that I already had a WSL distribution (Ubuntu) installed before and it has been the default. Docker Desktop with WSL 2 backend installs its own distribution called docker-desktop. And it has to be the default one (at least if not configured elsewhere).
So I had to run this command in PowerShell: wsl --setdefault docker-desktop
and restart docker services. Found the solution here.
answered Apr 30, 2022 at 14:43
0
if you are in windows try this
docker-machine env --shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
for testing try
docker run hello-world
answered Jan 26, 2018 at 13:09
RahulGRahulG
1,0281 gold badge15 silver badges27 bronze badges
If you have installed docker on Windows 10 Pro with Hyper-V enabled and you are still not able to run Docker on Windows 10, then, as the error suggests, your docker daemon is not started.
The following steps helped me to start docker successfully:
-
Use command on cmd(Admin mode)
docker-machine restart default
-
Then you’ll get a message something like:
open
C:User\{User_name}\.dockermachinemachinesdefaultconfig.json
:
The system cannot find the file specified. -
Go to the docker icon which will be on your windows tray (bottom right corner of the desktop)
-
Right click on the docker icon > Settings > Reset > Restart Docker
It will take few moments
-
Then you’ll see the following message:
Docker is running with the green indicator
Note: If you already had Docker containers running on your system, then don’t follow these steps. You may lose the existing containers.
KyleMit♦
36.4k63 gold badges440 silver badges635 bronze badges
answered May 27, 2018 at 5:00
1
Reason : one reason may cause because we shut down the vmmem by command
wsl --shutdown
Solution : Simple Restart the Docker by right-clicking will fix the problem.
answered Mar 23, 2021 at 9:01
mabdullahsemabdullahse
2,95623 silver badges21 bronze badges
3
The same issue arrived when I started with the docker in windows 10. I was able to run docker --version
successfully but failed when I tried to run docker pull docker/whalesay
.
I tried many things suggested in the answers over here but my issue was resolved when I followed the below steps:
1 . Search for docker in windows and run docker desktop as administrator.
2 . Check the bottom-left docker symbol it should be green if the docker is running.
3 . If it’s not running first install «wsl_update».
4 . Open the docker desktop and sign in with your docker credentials, when you are logged in you can see the server restarting and the bottom left logo turns green.
5. To check whether docker is running or not open PowerShell as administrator and run docker run hello-world
.
answered Apr 9, 2021 at 4:57
raven404raven404
8838 silver badges14 bronze badges
1
For me the issue was virtualization was not enabled.
On windows 10: Go to task manager -> Performance -> CPU and you should see as section as «Virtualization : Enabled»
If you do not see this option, it means that virtualization has not been enabled.
Another interesting thing to note is you must have Hyper V enabled. However as I was using parallels desktop, I had to enabled to «Nested Virtualization» for Hyper V to be «truly enabled». So if your windows is a VM, check out the settings for Parallels (or whatever you’re using) that nested virtualization is enabled.
answered Apr 30, 2017 at 13:50
Prasanth LouisPrasanth Louis
4,3992 gold badges31 silver badges47 bronze badges
I was getting same errors after an install on Windows 10. And I tried restarting but it did not work, so I did the following (do not recommend if you have been working in docker for awhile, this was on a fresh install):
1) Find the whale in your system tray, and right click
2) Go to settings > Reset
3) Reset to factory defaults
I was then able to follow the starting docker tutorial on the website with Windows 10, and now it works like a charm.
answered Jun 8, 2018 at 0:12
celacela
2,2803 gold badges22 silver badges41 bronze badges
2
Open C drive in powershell Or Git bash and run below command
.Program FilesDockerDockerDockerCli.exe -SwitchDaemon
answered May 26, 2020 at 7:21
Amit KumarAmit Kumar
1,30913 silver badges8 bronze badges
0
My solution was pretty simple. I noticed that docker was running linux containers instead of windows containers. What i did is switch to windows containers by right clicking on the docker icon in the system tray and choosing Switch to Windows Containers.
answered Dec 13, 2020 at 10:59
briancoderbriancoder
1591 silver badge8 bronze badges
I had the same issue lately. Problem was Security Software(Trendmicro) was blocking docker to create Hyperv network interface. You should also check firewall, AV software not blocking installation or configuration.
answered Jun 28, 2018 at 12:55
haltunbayhaltunbay
6056 silver badges15 bronze badges
0
For me the error was resolved by stopping a virtual Ubuntu instance that’d been running in Hyper-V:
The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Once Ubuntu instance had been stopped, and Docker Desktop had been restarted, my usual docker commands ran just fine.
PS: I had the idea to try this because of an Error Log that Docker Desktop had helpfully compiled and offered to send to Docker Hub as user feedback… the log appeared to indicate that my machine was short on RAM, and Docker was failing for this very simple reason. Killing the Ubuntu instance solved that.
answered May 22, 2019 at 10:39
olisteadmanolisteadman
4366 silver badges12 bronze badges
If none of the other answers work for you, try this:
Open up a terminal and run:
wsl -l -v
If you notice that there’s a docker-desktop left hanging in the ‘Installing’ state, close Docker, run powershell as adminstrator and unregister docker-desktop:
PS C:WINDOWSsystem32> .wslconfig.exe /u docker-desktop
Restart docker and hopefully it works. If it doesn’t, try uninstalling docker first, then unregistering docker-desktop, and re-installing Docker.
Source: https://github.com/docker/for-win/issues/7295#issuecomment-645989416
answered Jun 27, 2020 at 2:24
DaveDave
696 bronze badges
One of my friends was having a similar issue, we tried this and it worked.
Hyper-V, despite being listed under «Turn Windows features on or off» as being active, was not in fact active. This became apparent when running systeminfo under PowerShell, and seeing
that the requirements were listed as met (which is not the output you would expect were Hyper-V actually running).Steps:
- Open «Turn Windows features on or off»
- If you are not sure how to do this please refer
https://www.howtogeek.com/250228/what-windows-10s-optional-features-do-and-how-to-[turn-them-on-or-off/][1] - Turn Hyper-V off (uncheck box, making sure all sub-components are marked as off)
- Hit «Ok» — and your machine will reboot.
- When your computer starts up again, open «Turn Windows features on or off» and turn Hyper-V back on. Your machine will reboot again.
Now you can test by running docker hello-world image.
answered Oct 14, 2020 at 8:56
After installing docker desktop into your pc (windows one). You may find up this location. What is actually does,? It starts the Docker Daemon via your CLI
"C:Program FilesDockerDockerDockerCli.exe" -SwitchDaemon
Smart Manoj
4,8154 gold badges30 silver badges56 bronze badges
answered Oct 27, 2020 at 20:40
3
Make sure you have Hyper-V enabled, that was the problem in my case.
answered Sep 28, 2021 at 1:13
Brookie_CBrookie_C
3691 silver badge10 bronze badges
That’s worked for me on win10-home https://github.com/docker/for-win/issues/11967
- Shutdown your service docker
- Now execute this into the window command terminal
RMDIR /S %USERPROFILE%AppDataRoamingDocker
- Startup your service docker
- Now click on your «Docker Desktop»
The «Docker Desktop» will now runnig … done …
answered Oct 27, 2021 at 21:24
udolineudoline
1211 silver badge3 bronze badges
1
Delete the folder under %appdata%Docker
as indicated in Github issues
For quick access press Ctrl+R, paste «%appdata%Docker» then Enter, it should open a folder located in AppDataRoamingDocker (e.g. C:UsersYourUsernameAppDataRoamingDocker)
answered Feb 11, 2022 at 10:39
KarobweKarobwe
1961 silver badge5 bronze badges
Содержание
- PowerShell, Programming and DevOps
- Musings and mischief on PowerShell, Programming and DevOps.
- Recent Posts
- Recent Comments
- Archives
- Categories
- Failed to Start Docker Service on Windows 10 AE
- Docker Engine failed to start — Fix
- Issue
- Error Details
- Analysis
- Solution
- Method 1
- Method 2
- Method 3
- Update 9/7/2021:
- Credits
- Subscribe to Bala Blog (bala.one) | Sitecore MVP | Sitecore | OrderCloud | Coveo | Azure | SharePoint | O365
- Docker Failed to Start
- 10 Answers 10
- Trending sort
- Docker Engine fails to start #10817
- Comments
- nasso commented Apr 2, 2021
- Actual behavior
- Expected behavior
- Information
- Steps to reproduce the behavior
- davmac1 commented Apr 2, 2021
- docker-desktop-robot commented Jul 1, 2021
PowerShell, Programming and DevOps
Musings and mischief on PowerShell, Programming and DevOps.
Recent Posts
Daniel Scott-Raynsfo… on List Global Assembly Cache usi… |
sadasd on List Global Assembly Cache usi… |
Daniel Scott-Raynsfo… on Protect your Environment from… |
jl on Protect your Environment from… |
Mathias on PowerShell Paramters in GPO… |
Archives
Categories
Failed to Start Docker Service on Windows 10 AE
So, pretty much the first thing I did when the Windows 10 Anniversary Edition was installed onto my primary development machine was to installer the Windows Container Service and Docker on it.
I used the Windows Containers on Windows 10 Quick start guide to perform the installation. This is the same method I’d been using on my secondary development machine (running Insider Preview builds) since it was first available in build 14372.
Note: The Windows Containers on Windows 10 Quick Start guide doesn’t mention the Anniversary Edition specifically, but the method still works.
Unfortunately though, this time it didn’t work. When I attempted to start the Docker Service I received the error:
So, after a bit of digging around I found the following error in the Windows Event Log in the Application logs:
Basically what this was telling me was that the Docker Daemon couldn’t create the new virtual network adapter that it needed – because it already existed. So a quick run of Get-NetAdapter and I found that the docker adapter “vEthernet (HNS Internal)” already existed:
So what I needed to do was uninstall this adapter so that the Docker Service could recreate it. I’m not actually aware of a command line method of doing (except for using DevCon) so I had to resort to using Device Manager:
You’ll need to use the output of the Get-NetAdapter to find he right adapter uninstall. Once it has been uninstalled you should be able to start the service again:
This time the service should start successfully. A quick call to docker ps shows that the container service is indeed working. So now I can get onto the process pulling down the base container images.
Hopefully if anyone else runs into this problem in Windows 10 AE this will help them resolve it.
Источник
Docker Engine failed to start — Fix
Issue
Docker Desktop will not start after Install or an upgrade with an error Docker engine failed to start.
Docker Desktop version: 3.5.1 (66501)
Windows Version: Windows 10 20H2
Opening Docker Desktop will start with this state
After sometime it will get into this state
Error Details
The possible error screens and messages. Typically it comes as a pop-up when the Docker fails.
Docker.ApiServices.StateMachines.InvalidTransitionException:
Cannot stop from an unstable state at Docker.ApiServices.StateMachines.UnstableState.Docker.ApiServices.StateMachines.IInternalEngineState.BeginStopAsync() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesUnstableState.cs:line 36
at Docker.ApiServices.StateMachines.EngineStateMachine. d__15.MoveNext() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.ApiServicesStateMachinesEngineStateMachine.cs:line 78
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Engines.Engines. d__26.MoveNext() in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.DesktopEnginesEngines.cs:line 264
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at Docker.Core.Cmd.Run(String filename, String arguments) in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.CoreCmd.cs:line 36
at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(Settings settings, String args, Dictionary 2 env) in C:workspacesPR-16070srcgithub.comdockerpinatawinsrcDocker.BackendProcessesWindowsDockerDaemon.cs:line 200 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1. b__0(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary 2 arguments, CancellationToken cancellationToken)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker. d__1.MoveNext()
Analysis
Tried following the steps to fix the issue
- Restart Docker Desktop that helps most of the time
- Windows reboot, welcome to the world of Microsoft
- Next uninstall, Reboot and Re-Install Docker Desktop (This cleared all the image cache)
None of the steps helped solving the issue. I started investigating the logs and the two windows services responsible for the docker to function properly. This could be verified by executing services.msc from windows run prompt.
I noticed the Docker Engine services missing and I picked up the service details from a working machine. I have listed for reference.
- «C:Program FilesDockerDockercom.docker.service»
- «C:P/r/ogram FilesDockerDockerresourcesdockerd.exe» —run-service —service-name docker -G docker-users —config-file C:ProgramDataDockerDesktoptmp-d4wdaemon.json
Opened a powershell window and tried to execute the second service mentioned above and it threw an error the panic.log file access is denied.
I opened the log file and noticed similar access denied error.
Solution
Method 1
Open the following path in run prompt %ProgramData%/Docker and I renamed the panic.log file name to panic_old.log and tried opening the Docker desktop that will fix the issue.
Method 2
Do method one and try to execute the command in powershell and then open the Docker Desktop.
«C:Program FilesDockerDockerresourcesdockerd.exe» —run-service —service-name docker -G docker-users —config-file C:ProgramDataDockerDesktoptmp-d4wdaemon.json
Method 3
This issue is specific to version 3.6 where they fixed a vulnerability.
Remove the read only flag for the panic.log file in the following location %ProgramData%/Docker.
Ref:
https://nvd.nist.gov/vuln/detail/CVE-2021-37841
The issue might reappear after a system reboot. Delete the panic.log file and startup again. I will post if I find a permanant solution.
Update 9/7/2021:
Relase 4.0 has fixed the access issue.
Fixed a bug when switching from Linux to Windows containers due to access rights on panic.log
https://docs.docker.com/desktop/windows/release-notes/
Credits
Subscribe to Bala Blog (bala.one) | Sitecore MVP | Sitecore | OrderCloud | Coveo | Azure | SharePoint | O365
Get the latest posts delivered right to your inbox
Источник
Docker Failed to Start
I have installed the Docker and then I have started the Docker. Docker says that «Docker is starting.» Then,Docker says «Docker Failed to Start». Please, Could you help me?
Docker Error Detail:
10 Answers 10
Trending sort
Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.
It falls back to sorting by highest score if no posts are trending.
Switch to Trending sort
In my scenario, I needed to install WSL 2 and my computer didn’t have it. Installing it made docker run successfully. Try the below steps if you are installing docker for the first time.
First, we need to activate WSL from Windows.
Control Panel -> Programs -> Turn Windows features Turn On or Off
You need to check
- Windows Subsystem For Linux
- Windows Hypervisor Platform
- Virtual Machine Platform
To Install WSL 1 which comes built-in, open PowerShell as Administrator and run:
After that download the WSL 2 update from Microsoft. Use below this: WSL2 Linux kernel update package for x64 machines
After installing the above package, you need to set WSL 2 as the default version.
Open PowerShell as Administrator and run:
Now restart your computer. Now your docker should work.
Please note that to update to WSL 2, you must be running Windows 10.
- For x64 systems: Version 1903 or higher, with Build 18362 or higher.
- For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
My Solution:
I have checked the Prerequisites for Docker. I have applied the second step in prerequisites. (Windows Subsystem for Linux Installation with Manual Installation Steps) It has fixed the error for me.
If you get an error like this (during this installation process):
WslRegisterDistribution failed with error: 0x80370114 Error: 0x80370114 The operation could not be started because a required feature is not installed. (I encountered this error.) Please, apply this.
I have fixed my problems like that. Good luck 🙂
Docker failed to start WSL 2 update I just did this on powershell
The problem is in WSL as it becomes unresponsive and returns a service error. Follow the below steps
The combination of the above answer and installation of new destro worked for me
I was facing the same problem in my windows cooperate desktop. Unfortunately most of the windows settings changes are not available for users and controlled by IT team. What I did to make docker running is
- Open Docker Desktop
- Go to Settings
- Turn off «Use the WSL 2 based engine» which switch to legacy Hyper-V
I know this is not ideal but atleast got docker working.
Источник
Docker Engine fails to start #10817
- I have tried with the latest version of Docker Desktop
- I have tried disabling enabled experimental features
- I have uploaded Diagnostics
- Diagnostics ID: 32D42180-6225-495A-B514-5E5F227BDCDA/20210402135613
Actual behavior
Docker engine failed to start.
Expected behavior
Docker engine successfully starts.
Information
The problem started appearing today. I tried restarting the docker engine but it failed to restart too.
- Windows Version: 10.0.19043 Build 19043
- Docker Desktop Version: 3.2.2 (61853)
- WSL2
- Are you running inside a virtualized Windows e.g. on a cloud server or a VM: no
Steps to reproduce the behavior
- Make sure the docker engine isn’t already running.
- Start docker desktop so that it tries to start the docker engine.
The text was updated successfully, but these errors were encountered:
I am having the same problem. I have tried rebooting.
I get this message at the end of the errors:
System.ComponentModel.Win32Exception:
An instance of the service is already running.
services show the Docker Desktop Server is running, but the Docker Engine is not.
I can manually start the engine, but it is still not working
Powershell gives this message:
docker ps
docker : error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated
privileges to connect.: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json: open //./pipe/docker_engine: The system
cannot find the file specified.
At line:1 char:1
Issues go stale after 90 days of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30 days of inactivity.
Prevent issues from auto-closing with an /lifecycle frozen comment.
If this issue is safe to close now please do so.
Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle stale
Источник
So, pretty much the first thing I did when the Windows 10 Anniversary Edition was installed onto my primary development machine was to installer the Windows Container Service and Docker on it.
I used the Windows Containers on Windows 10 Quick start guide to perform the installation. This is the same method I’d been using on my secondary development machine (running Insider Preview builds) since it was first available in build 14372.
Note: The Windows Containers on Windows 10 Quick Start guide doesn’t mention the Anniversary Edition specifically, but the method still works.
Unfortunately though, this time it didn’t work. When I attempted to start the Docker Service I received the error:
start-service : Failed to start service 'Docker Engine (docker)'.
So, after a bit of digging around I found the following error in the Windows Event Log in the Application logs:
Basically what this was telling me was that the Docker Daemon couldn’t create the new virtual network adapter that it needed – because it already existed. So a quick run of Get-NetAdapter and I found that the docker adapter “vEthernet (HNS Internal)” already existed:
So what I needed to do was uninstall this adapter so that the Docker Service could recreate it. I’m not actually aware of a command line method of doing (except for using DevCon) so I had to resort to using Device Manager:
You’ll need to use the output of the Get-NetAdapter to find he right adapter uninstall. Once it has been uninstalled you should be able to start the service again:
This time the service should start successfully. A quick call to docker ps shows that the container service is indeed working. So now I can get onto the process pulling down the base container images.
Hopefully if anyone else runs into this problem in Windows 10 AE this will help them resolve it.
Содержание
- Docker Desktop for Windows fails to start #3764
- Comments
- SethMcFarland commented Apr 17, 2019
- Expected behavior
- Actual behavior
- Information
- Steps to reproduce the behavior
- Things I’ve tried so far
- mikeparker commented Apr 17, 2019
- hjl commented Apr 17, 2019 •
- SethMcFarland commented Apr 17, 2019
- mikeparker commented Apr 18, 2019
- SethMcFarland commented Apr 18, 2019
- Docker Failed to Start
- 8 Answers 8
- докер не запускается в Windows
- Вариант А
- Вариант Б
- Docker fails on startup on Win-10 after the update #8748
- Comments
- durmusdeniz commented Oct 1, 2020
- simonferquel commented Oct 1, 2020
- simonferquel commented Oct 1, 2020
- durmusdeniz commented Oct 1, 2020
- simonferquel commented Oct 1, 2020
- durmusdeniz commented Oct 1, 2020
- simonferquel commented Oct 1, 2020
- durmusdeniz commented Oct 1, 2020
- simonferquel commented Oct 1, 2020
- T-SANS commented Oct 2, 2020
- freakpants commented Oct 5, 2020
- simplesalt commented Dec 23, 2020
- Исправление проблем под Docker. Казалось бы, при чём здесь GIT?
- Постскриптум
Docker Desktop for Windows fails to start #3764
SethMcFarland commented Apr 17, 2019
Expected behavior
Docker should start up successfully
Actual behavior
Docker fails during start up
Information
Is it reproducible? It happens every time I try to start Docker
Is the problem new? This is my first time setting up Docker on this computer
Did the problem appear with an update? ^^^
Windows Version: Windows 10 Pro, 1809, build 17763.437 (the latest windows update allows me to pull)
Docker for Windows Version: 18.09.2, build 6247962
Steps to reproduce the behavior
Things I’ve tried so far
I’m brand new to Docker and I’m really excited to learn how to use it but need a little help getting it to run, any help is greatly appreciated! I’ve spent a few hours search for a solution but haven’t found anything that has worked yet.
The text was updated successfully, but these errors were encountered:
If you figure out which piece was missing please let us know so we can improve the diagnostics and messaging around this.
I’m having the same problem, since first restart after latest Win10 update. Uploaded diagnostic ID 41562EB3-DC18-484E-9309-DDBA875CB41A/20190417104433
Windows 10 1809 build 17763.437
SethMcFarland commented Apr 17, 2019
@mikeparker the links you posted weren’t the solution themselves but they got me on the right track, thanks! If you would like any more info so as to help improve messaging and diagnostics in the future then please let me know.
I noticed when I opened Hyper-V Manager I wasn’t able to connect to my local server so I started tracking that down. The solution for that was in the comment from Zoe Tao at the link below. After making her suggested change I rebooted and was able to start and run docker without issue!
Great! So to be clear, you were getting the Verify that the Virtual Machine Management service on the computer is running. message, and you performed the following, then it started working?
SethMcFarland commented Apr 18, 2019
@mikeparker Yes, you are correct. The only change I would make is adding a step 9 of «Reboot your computer» because Docker still didn’t work for me after making the changes until I rebooted.
Источник
Docker Failed to Start
I have installed the Docker and then I have started the Docker. Docker says that «Docker is starting.» Then,Docker says «Docker Failed to Start». Please, Could you help me?
Docker Error Detail:
8 Answers 8
In my scenario, I needed to install WSL 2 and my computer didn’t have it. Installing it made docker run successfully. Try the below steps if you are installing docker for the first time.
First, we need to activate WSL from Windows.
To Install WSL 1 which comes built-in, open PowerShell as Administrator and run:
After that download the WSL 2 update from Microsoft. Use below this: WSL2 Linux kernel update package for x64 machines
After installing the above package, you need to set WSL 2 as the default version.
Open PowerShell as Administrator and run:
Now restart your computer. Now your docker should work.
Please note that to update to WSL 2, you must be running Windows 10.
My Solution:
I have checked the Prerequisites for Docker. I applied the second step in prerequisites. (Windows Subsystem for Linux Installation with Manual Installation Steps) It has fixed the error for me.
If you get an error like this (during this installation process):
WslRegisterDistribution failed with error: 0x80370114 Error: 0x80370114 The operation could not be started because a required feature is not installed. (I encountered this error.) Please, apply this.
I fixed my problems like that. Good luck 🙂
Docker failed to start WSL 2 update I just did this on powershell
The problem is in WSL as it becomes unresponsive and returns a service error. Follow the below steps
The combination of the above answer and installation of new destro worked for me
I was facing the same problem in my windows cooperate desktop. Unfortunately most of the windows settings changes are not available for users and controlled by IT team. What I did to make docker running is
I know this is not ideal but atleast got docker working.
Источник
докер не запускается в Windows
Выполнение docker version возвращает следующие результаты.
Запуск диагностики дает следующее:
Вы получите следующий вывод:
Скопируйте команду ниже и выполните в cmd:
А затем выполните следующую команду для управления:
2) Для Windows 7 Powershell откройте powershell.exe с правами администратора и выполните следующую команду:
А затем выполните следующую команду для управления:
3) Если вы повторно откроете cmd или powershell, вам следует снова повторить соответствующие шаги.
Я знаю, что этот вопрос был давно, но я не нашел подходящего объяснения и решения, поэтому, надеюсь, мой ответ будет полезен 🙂
Поэтому используйте docker-machine команды на вашем компьютере с Windows. Используйте docker команду внутри вашей виртуальной машины. Чтобы использовать docker команды, например, docker ps вы можете либо открыть терминал быстрого запуска Docker, либо запустить их на своем cmd / bash / PowerShell:
docker-machine run default / предполагая, что по умолчанию ваша виртуальная машина Linux /
docker-machine ssh default
Это начнется boot2docker, и вы увидите значок докера в командной строке. Затем вы можете использовать docker команды.
Ошибка связана с этой частью:
В конфигурации демона по умолчанию в Windows для подключения докер-клиент должен быть запущен с повышенными привилегиями.
Вы можете сделать это, чтобы переключить демон Docker:
У меня такая же проблема.
Запуск демона докеров решил проблему. Просто найдите докер, нажав клавишу Windows, и нажмите «Docker Dekstop». Демон должен запуститься через минуту.
если вы находитесь в окнах, попробуйте это
для тестирования попробуйте
Если вы установили докер в Windows 10 Pro с включенным Hyper-V и по-прежнему не можете запустить Docker в Windows 10, то, как следует из ошибки, ваш демон докера не запускается.
Следующие шаги помогли мне успешно запустить докер:
Используйте команду в cmd (режим администратора)
Затем вы получите примерно такое сообщение:
open C:User\\.dockermachinemachinesdefaultconfig.json :
система не может найти указанный файл.
Перейдите к значку докера, который будет на панели задач Windows (нижний правый угол рабочего стола).
Щелкните правой кнопкой мыши значок докера> Настройки> Сброс> Перезапустить Docker
Это займет несколько минут
Затем вы увидите следующее сообщение:
Докер работает с зеленым индикатором
Попробуйте решить проблему одним из следующих способов:
Вариант А
Вариант Б
Откройте «Безопасность окон»
Откройте «Управление приложением и браузером»
Нажмите «Настройки защиты от эксплойтов» внизу.
Перейдите на вкладку «Настройки программы»
Найдите в списке «C: WINDOWS System32 vmcompute.exe» и разверните его.
Прокрутите вниз до «Защита потока кода (CFG)» и снимите флажок «Переопределить системные настройки».
Запустите vmcompute из PowerShell «net start vmcompute»
Затем перезапустите вашу систему
Я столкнулся с той же проблемой, это может быть проблема администратора, поэтому выполните следующие шаги, чтобы настроить докер на
Для меня проблема заключалась в том, что виртуализация не была включена.
Если вы не видите этот параметр, это означает, что виртуализация не включена.
У меня были такие же ошибки после установки в Windows 10. И я попытался перезапустить, но это не сработало, поэтому я сделал следующее ( не рекомендую если вы какое-то время работали в докере, это было при новой установке):
1) Найдите кита на панели задач и щелкните правой кнопкой мыши
2) Заходим в настройки> Сброс
3) Сброс до заводских настроек по умолчанию
Затем я смог следовать руководству по началу работы с докерами на веб-сайте с Windows 10, и теперь он работает как шарм.
В последнее время у меня была такая же проблема. Проблема заключалась в том, что программа безопасности (Trendmicro) блокировала докер для создания сетевого интерфейса Hyperv. Вы также должны проверить брандмауэр, антивирусное программное обеспечение, не блокирующее установку или настройку.
Откройте диск C в PowerShell или Git bash и выполните команду ниже
Если ни один из других ответов вам не подходит, попробуйте следующее: откройте терминал и запустите:
Если вы заметили, что рабочий стол docker-desktop остался висеть в состоянии «Installing», закройте Docker, запустите powershell от имени администратора и отмените регистрацию docker-desktop:
Перезагрузите докер, и, надеюсь, он сработает. Если это не так, попробуйте сначала удалить docker, затем отмените регистрацию docker-desktop и переустановите Docker.
Я использую Windows 7 с Docker Toolbox, и чтобы исправить это, просто откройте Docker Quickstart Terminal.
$ docker version Клиент: Версия: 17.05.0-ce Версия API: 1.29 Версия Go: go1.7.5 Git commit: 89658be Построен: пятница мая, 15:36:11 2017 OS / Arch: windows / amd64
Сервер: Версия: 17.05.0-ce Версия API: 1.29 (минимальная версия 1.12) Версия Go: go1.7.5 Git commit: 89658be Построен: четверг, 4 мая, 21:43:09 2017 OS / Arch: linux / amd64 Экспериментальная: false
Для меня ошибка была решена путем остановки виртуального экземпляра Ubuntu, который работал в Hyper-V:
The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Как только экземпляр Ubuntu был остановлен и Docker Desktop был перезапущен, мои обычные команды Docker работали нормально.
Источник
Docker fails on startup on Win-10 after the update #8748
WSL distro stopped while waiting for Lifecycle server.
Stdout:
⇨ http server started on /run/guest-services/wsl2-bootstrap-expose-ports.sock
⇨ http server started on /run/guest-services/wsl-cross-distro.sock
execing /sbin/init
getting children of 41
Stderr:
2020/10/01 13:14:49 resolving /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso.
2020/10/01 13:14:49 already in cache!
2020/10/01 13:14:49 resolving /mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-for-wsl.iso.
2020/10/01 13:14:49 already in cache!
2020/10/01 13:14:49 resolving /mnt/host/c/Program Files/Docker/Docker/resources/docker.iso.
2020/10/01 13:14:49 already in cache!
time=»2020-10-01T13:14:49Z» level=info msg=»dialing Unix domain socket /run/guest-services/wsl2-expose-ports.sock for data connection»
time=»2020-10-01T13:14:49Z» level=info msg=»unable to connect data on Unix domain socket /run/guest-services/wsl2-expose-ports.sock: dial unix /run/guest-services/wsl2-expose-ports.sock: connect: no such file or directory. Is the server restarting? Will retry in 1s.»
Error: input/output error
2020/10/01 13:14:49 input/output error
I have start getting this since yesterday after updating the docker to the newest available version
The text was updated successfully, but these errors were encountered:
(the other reason can also be a full hardrive preventing some vhd to auto-grow)
I just did what you said about wsl, but still getting the crash, with identical output, while having plenty of diskspace.
removing the cache files worked! now docker is up..
thanks a lot!
very nice. I’ll add a ticket in our backlog to do that automatically
very nice. I’ll add a ticket in our backlog to do that automatically
Please do! I spent about an hour stopping, restarting, re-installing Docker Desktop today until I found your post. But I’m very happy I did find your post. Cleaned up the problem right away! Thank you.
deleting the cache and restarting wsl also fixed the issue for me, had it this monday, 5th of october, morning (CEST), on friday docker was working fine
Advertised message from restarting docker desktop:
Источник
Исправление проблем под Docker. Казалось бы, при чём здесь GIT?
Докер под Windows — это постоянные приключения. То ему нужно обновить операционку, иначе последние версии не ставятся, то он забывает, как подключаться к сети. В общем, каждый день от него новости. «Поставил и забыл» — это не про Docker Desktop for Windows. Особенно, когда он используется не совсем так, как рекомендуют его разработчики. А они почему-то не одобряют подключение внешних windows сетевых дисков в качестве локальных. И совсем не одобряют доступ к к таким сетевым папкам, которые расположены ещё и на host машине. Пишут, что это ужас-ужас с точки зрения безопасности, требуют всяких ключей типа:
cap_add:
— SYS_ADMIN
— DAC_READ_SEARCH
для работы команды mount в контейнере и прочая, и прочая.
В общем, когда в очередной раз после выгрузки контейнеров на сервер заказчика сервисы перестали видеть сетевые диски, я не особо удивился. Так уже бывало, и даже была написана пошаговая инструкция для группы поддержки, как и что перезагружать, когда ломаются сетевые настройки докера.
Так что я открываю свою инструкцию и начинаю действовать. Перезапускаю контейнеры — не помогает. Перезапускаю через docker-compose с пересозданием инфраструктуры — не помогает. Сбрасываю настройки Docker к заводским, восстанавливаю параметры виртуалки, загружаю заново образы, запускаю через docker-compose — опять всё по старому — не видит сеть. Точнее не подключается к сетевым шарам, хотя пинг из контейнера до SMB сервера проходит нормально. Последний пункт — перезагрузку сервера и переустановку Docker, пока пропускаю, так как перезагружать сервер очень не хочется. На этом инструкция кончилась.
Ок, перехожу на свою домашнюю машину, тут у меня тоже Docker под Windows, но чуть более новой версии. Проверяю на нём. Те же яйца:
Ага. Ну неужели, думаю, Docker накатил обновление с какой-то безопасностью и теперь мои скрипты из-за этого не запускаются? Последняя проверка — начисто удалить Docker с машины, и поставить заново. Это должно быть круче сброса к заводским настройкам. Проделываю весь перечень из предыдущего шага, только в дополнение к этому ещё и перезагружаю свою машину, чтобы уж совсем железно. Ставлю Docker c нуля, заливаю образы, запускаю docker-compose — ёпрст! Все сервисы как не видели сетевых шар, так и продолжают писать при загрузке «mount error(22): Invalid argument»
Пробую запустить скрипт по строкам из командной строки: подключаюсь к контейнеру, запускаю по очереди команды и вижу, что всё подключается и работает как надо:
То есть, это что же, какая-то хрень с передачей параметров в скрипт при запуске контейнера?
Ищем ещё идеи. Все варианты с перезагрузкой докера отмели, остались варианты с возможными изменениями в родительском образе. У меня образ собирается на основе openjdk:8-jdk-alpine, конкретной версии не указано, так что какие-нибудь улучшения безопасности могли сломать мои скрипты. Может поменяли что-то в OpenJDK или дочернем Alpine?
Проверяю логи проекта, пробую выбрать более старые openjdk:8-jdk-alpine-3.8, openjdk:8-jdk-alpine-3.7 и т.д. — каждый раз пересобираю контейнер, проверяю — всё по-старому.
Чёрт подери! Может я что-то всё-таки поменял в своей сборке? Выгружаю из GIT’а версию проекта месячной давности, собираю — те же глюки. Трёхмесячной давности — проблема всё ещё тут. Как же так? Что изменилось? Конфигурация докера к настоящему моменту гарантировано рабочая, конфигурация образа — тоже не поменялась, исходники проекта те же самые (GIT всё сохраняет). Чудес не бывает — надо понять, где всё-таки появились изменения. В проде вручную запускаю команды подключения к шарам — так до перезапуска сервисы будут работать нормально и иду спать. Утро вечера мудренее.
Наутро приходит идея — что пора, видимо, узнать, а что собственно говоря не нравится скрипту при выполнении.
Начинаем отладку внутри sh:
И тут появляются какие-то непонятные моменты — строка начинается с кавычек, потом кавычки в конце… Откуда кавычки?
Идея — может запуск с помощью настоящего bash будет информативнее?
Инсталлирую в контейнер BASH:
Блин, тут вроде, когда строка начинается с плюса — это хорошо, но появились какие-то r и параметры $’. ‘
Ставим Midnight Commander, чтобы уж экспериментировать с удобствами apk add mc и открываем скрипт на редактирование, а там:
Оппа! ^M в конце каждой строки. Ну-ка, ну-ка, смотрим в локальном проекте — а что у нас с окончаниями строк. CRLF. Работаем под Windows, однако.
Меняем в этом конкретно файле CRLF на LF (да здравствует Notepad++!), собираем проект — бинго! Работает как надо.
Почему раньше было ок, а сейчас всё полетело? Смотрю по коммитам — не было никаких перемен. И тут вспоминаю, что GIT умеет на лету править символы перевода строк текстовых файлов. А я на днях подключил новый репозитарий, и возможно выгрузил оттуда все файлы с конвертацией в CRLF.
В итоге добавляем в проект файл .gitattributes, с указанием, что в отдельных файлах надо-таки сохранять символы конца строк как в UNIX:
Мораль — иногда виновник даже не попадает в круг первоначальных подозреваемых.
Постскриптум
DockerNAT has been removed from Docker Desktop 2.2.0.0 as using an IP address to communicate from the host to a container is not a supported feature. To communicate from a container to the host, you must use the special DNS name host.docker.internal.
Ок, поправил конфиги для тестового окружения, база данных подцепилась, пинг из контейнера до host.docker.internal проходит, а вот сетевые диски не подключаются. Пробую запустить mount вручную из шелла, и получаю знакомую ошибку «mount error(22): Invalid argument».
Полный вариант тоже работает:
Меняю последний параметр на vers=2.1 — ура, работает!
Похоже, что Docker в последней версии сделал свою собственную имплементацию SMB сервера с блекджеком, но без поддержки 2.0. Ерунда, конечно, по сравнению с другими новостями.
Источник