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
I am not able to start the Docker container in Microsoft Windows 10 profession. As I found the cause of this error is due to the docker engine is failing to start.
After installing docker I am able to run only the docker version command.
-> docker —version
As I found the error which is showing docker daemon is not running in windows while running any other docker commands on CMD.
I also enabled (checked) the Hyper-V option in «Turn Windows features on or off» in the Control panel -> Programs -> Turn Windows features on or off.
asked May 5, 2021 at 18:22
user3552342user3552342
5371 gold badge4 silver badges13 bronze badges
The error is related to the daemon part:
In the default daemon configuration on Windows, the docker client must be run elevated to connect.
We can switch the Docker daemon as an elevated user in order to run the docker daemon in the Windows professional:
Run below command with Windows Powershell as administrator:
Run the PowerShell command: —
& 'C:Program FilesDockerDockerDockerCli.exe' -SwitchDaemon
OR
You can run the below command on CMD as administrator:
Run the CMD command: —
"C:Program FilesDockerDockerDockerCli.exe" -SwitchDaemon
SkyWalker
27.9k12 gold badges72 silver badges129 bronze badges
answered May 5, 2021 at 18:34
user3552342user3552342
5371 gold badge4 silver badges13 bronze badges
3
My Docker Desktop failed to start after I forced it to exit while updating (it stuck during the update that’s why I had to do it). No solution on the Internet helped me until I ran into this Powershell command:
wsl -l -v
It listed the following:
* Ubuntu-18.04 Stopped 2
docker-desktop Uninstalling 2
docker-desktop-data Stopped 2
It kept saying «Uninstalling» even after rebooting the whole system.
What I did was:
wsl -t docker-desktop
It terminated docker-desktop and made the problem gone.
answered Sep 15, 2022 at 15:17
vladikvladik
1211 silver badge2 bronze badges
1
delete %appdata%Dockersettings.json and let Docker to create a new one
answered Dec 13, 2021 at 9:01
Ankit KumarAnkit Kumar
2935 silver badges10 bronze badges
You should check WSL:
Execute "wsl -l -v"
at the command prompt.
If the result is like this:
Then execute "wsl --shutdown"
on the command line.
Then execute "wsl -l -v"
, you will see:
Then start Docker Desktop.
This solved my problem.
tripleee
170k31 gold badges261 silver badges305 bronze badges
answered Mar 2, 2022 at 4:16
3
Make sure to download the Linux Kernel Update Package and then try restarting Docker Desktop.
Download from here
answered Nov 1, 2021 at 19:34
Just share my experience how I solved the problem with «docker failed to start» or similar problem. I found some mess with my Win10 Home edition, despite the fact that all checkes regarding Hyper-v, wsl and others passed I got failed to start docker engine. So, I tried to install one of the old version (4.4.4), not the newest one. An voila it installed wsl2 and started without any problems!
Hope this could help someone who’s tried all solutions (for example, deletion of the %appdata%docker folders)
answered Oct 18, 2022 at 21:23
1
I was getting the same exact issue and a solution was provided from thread The attempted operation is not supported for the type of object referenced.» error after Windows Update fixed my problem. I had tried everything before this solution. To keep it simple just follow the below steps —
- Copy below snippet
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2ParametersAppId_Catalog408F7A3]
«AppFullPath»=»C:WindowsSystem32wsl.exe»
«PermittedLspCategories»=dword:80000000
- Save it as a file wsl.reg
- Execute the file to update the wsl registry
- restart docker desktop
these steps are basically done to do some changes in the registry of wsl distribution that is installed standalone or by docker.
answered Sep 22, 2022 at 7:01
Rajan ChauhanRajan Chauhan
4612 gold badges7 silver badges18 bronze badges
Using PowerShell gave me a right direction. All restarts and re-install with deletion didn’t work.
wsl -l -v
showed list of three processes but wsl -t docker-desktop
responded with «There is no distribution with the supplied name.» only. wsl --shutdown
either didn’t work.
Solution is next door wsl --unregister docker-desktop
. After this all went fine.
answered Nov 20, 2022 at 15:25
Mike MenkoMike Menko
7296 silver badges9 bronze badges
I ran the following command which resolved the issue for me.
wsl --unregister docker-desktop
answered Jan 12 at 12:29
Amuk SaxenaAmuk Saxena
1,5014 gold badges18 silver badges43 bronze badges
I am a new to Docker. After the installation of Docker Toolbox (OS: Windows 10) I run Docker Quickstart Terminal and in the console I see this:
Running pre-create checks...
Error wirh pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. It it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Look like something went wrong in step 'Checking if machine default exists'...
Press any key to continue...
What did I do wrong? All checking of system and install steps are taken from here.
Thank you very much for your help!
Moshisho
2,7311 gold badge22 silver badges37 bronze badges
asked Apr 27, 2016 at 9:39
Denis StarkovDenis Starkov
8151 gold badge6 silver badges10 bronze badges
7
Hyper-V and VirtualBox are conflicting each other.
You can either uninstall Hyper-V or run
docker-machine create -d virtualbox --virtualbox-no-vtx-check test
Source
answered Apr 27, 2016 at 9:49
4
Docker supports Hyper-V as the driver
You need to perform the following steps:
-
Create a virtual switch, refer to this article on how to do that
-
Create a docker machine using that network switch and hyper-V driver.
docker-machine create -d hyperv --hyperv-virtual-switch "name of the virtual switch created above" default
phuclv
36k13 gold badges147 silver badges456 bronze badges
answered Sep 5, 2016 at 6:10
curiousgeekcuriousgeek
8466 silver badges11 bronze badges
4
I got the same error when I installed Docker Toolbox on my Windows 10 machine.
Solution:
- Install Docker Community Edition (not Docker Toolbox)
- Enable Hyper-V
Open Control Panel -> System and Security -> Programs (left panel) -> Turn Windows features on or off -> Check the Hyper-V box
As of 2017’s Win 10, if you don’t have Hyper-V option, then your Windows OS is not Enterprise Edition. Also, Docker seems to work a lot better on Intel processors (not AMD).
- Add C:Program FilesDockerDockerresourcesbin to Path in Environmental Variables.
- Open Git Bash and type
docker-compose up
and now that command should work.
If you don’t have GitBash, please download it.
phuclv
36k13 gold badges147 silver badges456 bronze badges
answered Nov 22, 2017 at 18:01
GeneGene
10.6k1 gold badge64 silver badges57 bronze badges
1
I was having the same issue, and this blog post solved it. The author runs you through the steps of adding the --virtualbox-no-vtx-check
flag to the docker shell script.
Virtualbox and Hyper-V don’t play well together. I am NOT the author.
answered Jun 28, 2016 at 21:58
cph2117cph2117
2,6111 gold badge26 silver badges41 bronze badges
0
I set the Hyper-V off using windows feature on off and it worked for me.
answered Aug 25, 2017 at 9:09
1
See if when you run:
docker-machine create -d hyperv --hyperv-virtual-switch "Virtual Switch" default
you get Error with: pre-create check: "Hyper-V PowerShell Module is not available"
If so just enable in Docker(icon on your desktop)->settings->expose daemon on TCP …
JuanCrg90
1,00614 silver badges24 bronze badges
answered Jun 26, 2018 at 14:27
1
You need to disable Hypervisor to check new application that use VT-x before the virtual machine launch:
-
Open the command prompt as Administrator
-
Run
bcdedit
to check hypervisor status: -
Check hypervisor launch type.
-
If is set to auto then disable it:
bcdedit /set hypervisorlaunchtype off
-
Reboot host machine and launch VirtualBox again
After performing above steps I opened again Docker Quickstart terminal and it is working fine.
double-beep
4,85916 gold badges32 silver badges41 bronze badges
answered May 28, 2020 at 15:12
I pressed the Windows Button on keyboard. Typed ‘Hyper-V Manager’. It opened the ‘Hyper-V Manager’. Then I right clicked on my machine name. There was an option to ‘stop’. I selected this option. It stopped the ‘Hyper-V’ on my machine and then Kitematic worked fine, i.e., it download the hello-world-nginx and displayed the web page.
NOTE: This is strange and I am not sure why. Once I have done above steps, now when I restarted the Hyper-V using Hyper-V Manager, Kitematic is still working and downloading images. Can anybody comment why it is now still working when Hyper-V is also running ? Thank you.
Good
Ali Ahsan
answered Dec 15, 2018 at 11:18
The solution as suggested by @Gene is correct and works perfectly if:
- One has windows pro edition
- Both Hyper-V Management Tools and Hyper-V Platform are enabled
Sometime this isn’t always the case; here is what to do:
Check Windows Edition:
To check which version right click on Windows key and select System.
Scroll down to Windows specifications and look at [Edition]
Check Hyper-V Platform (virtualisation)
For Hyper-V Platform to be enabled one must turn on virtualisation; normally this is done via the BIOS.
On HP laptop one this is done from the BIOS.
- On start-up click Ctrl+F10
- Press the right arrow key to System Configuration tab.
- Select Virtualization Technology and then press the Enter key.
- Select Enabled and press the Enter key.
Once these steps are done then:
- Search for Turn Windows features on or off.
- Scroll down to Hyper-V
- Tick this box (Ensure you see a tick NOT a black box which indicates some features not enabled)
Upon restart docker should be running… good luck !!
answered Aug 16, 2019 at 19:06
ItharIthar
4,6154 gold badges38 silver badges38 bronze badges
I am a new to Docker. After the installation of Docker Toolbox (OS: Windows 10) I run Docker Quickstart Terminal and in the console I see this:
Running pre-create checks...
Error wirh pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. It it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Look like something went wrong in step 'Checking if machine default exists'...
Press any key to continue...
What did I do wrong? All checking of system and install steps are taken from here.
Thank you very much for your help!
Moshisho
2,7311 gold badge22 silver badges37 bronze badges
asked Apr 27, 2016 at 9:39
Denis StarkovDenis Starkov
8151 gold badge6 silver badges10 bronze badges
7
Hyper-V and VirtualBox are conflicting each other.
You can either uninstall Hyper-V or run
docker-machine create -d virtualbox --virtualbox-no-vtx-check test
Source
answered Apr 27, 2016 at 9:49
4
Docker supports Hyper-V as the driver
You need to perform the following steps:
-
Create a virtual switch, refer to this article on how to do that
-
Create a docker machine using that network switch and hyper-V driver.
docker-machine create -d hyperv --hyperv-virtual-switch "name of the virtual switch created above" default
phuclv
36k13 gold badges147 silver badges456 bronze badges
answered Sep 5, 2016 at 6:10
curiousgeekcuriousgeek
8466 silver badges11 bronze badges
4
I got the same error when I installed Docker Toolbox on my Windows 10 machine.
Solution:
- Install Docker Community Edition (not Docker Toolbox)
- Enable Hyper-V
Open Control Panel -> System and Security -> Programs (left panel) -> Turn Windows features on or off -> Check the Hyper-V box
As of 2017’s Win 10, if you don’t have Hyper-V option, then your Windows OS is not Enterprise Edition. Also, Docker seems to work a lot better on Intel processors (not AMD).
- Add C:Program FilesDockerDockerresourcesbin to Path in Environmental Variables.
- Open Git Bash and type
docker-compose up
and now that command should work.
If you don’t have GitBash, please download it.
phuclv
36k13 gold badges147 silver badges456 bronze badges
answered Nov 22, 2017 at 18:01
GeneGene
10.6k1 gold badge64 silver badges57 bronze badges
1
I was having the same issue, and this blog post solved it. The author runs you through the steps of adding the --virtualbox-no-vtx-check
flag to the docker shell script.
Virtualbox and Hyper-V don’t play well together. I am NOT the author.
answered Jun 28, 2016 at 21:58
cph2117cph2117
2,6111 gold badge26 silver badges41 bronze badges
0
I set the Hyper-V off using windows feature on off and it worked for me.
answered Aug 25, 2017 at 9:09
1
See if when you run:
docker-machine create -d hyperv --hyperv-virtual-switch "Virtual Switch" default
you get Error with: pre-create check: "Hyper-V PowerShell Module is not available"
If so just enable in Docker(icon on your desktop)->settings->expose daemon on TCP …
JuanCrg90
1,00614 silver badges24 bronze badges
answered Jun 26, 2018 at 14:27
1
You need to disable Hypervisor to check new application that use VT-x before the virtual machine launch:
-
Open the command prompt as Administrator
-
Run
bcdedit
to check hypervisor status: -
Check hypervisor launch type.
-
If is set to auto then disable it:
bcdedit /set hypervisorlaunchtype off
-
Reboot host machine and launch VirtualBox again
After performing above steps I opened again Docker Quickstart terminal and it is working fine.
double-beep
4,85916 gold badges32 silver badges41 bronze badges
answered May 28, 2020 at 15:12
I pressed the Windows Button on keyboard. Typed ‘Hyper-V Manager’. It opened the ‘Hyper-V Manager’. Then I right clicked on my machine name. There was an option to ‘stop’. I selected this option. It stopped the ‘Hyper-V’ on my machine and then Kitematic worked fine, i.e., it download the hello-world-nginx and displayed the web page.
NOTE: This is strange and I am not sure why. Once I have done above steps, now when I restarted the Hyper-V using Hyper-V Manager, Kitematic is still working and downloading images. Can anybody comment why it is now still working when Hyper-V is also running ? Thank you.
Good
Ali Ahsan
answered Dec 15, 2018 at 11:18
The solution as suggested by @Gene is correct and works perfectly if:
- One has windows pro edition
- Both Hyper-V Management Tools and Hyper-V Platform are enabled
Sometime this isn’t always the case; here is what to do:
Check Windows Edition:
To check which version right click on Windows key and select System.
Scroll down to Windows specifications and look at [Edition]
Check Hyper-V Platform (virtualisation)
For Hyper-V Platform to be enabled one must turn on virtualisation; normally this is done via the BIOS.
On HP laptop one this is done from the BIOS.
- On start-up click Ctrl+F10
- Press the right arrow key to System Configuration tab.
- Select Virtualization Technology and then press the Enter key.
- Select Enabled and press the Enter key.
Once these steps are done then:
- Search for Turn Windows features on or off.
- Scroll down to Hyper-V
- Tick this box (Ensure you see a tick NOT a black box which indicates some features not enabled)
Upon restart docker should be running… good luck !!
answered Aug 16, 2019 at 19:06
ItharIthar
4,6154 gold badges38 silver badges38 bronze badges
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. Ерунда, конечно, по сравнению с другими новостями.
Источник
Содержание
- Troubleshoot Docker Engine installation
- Kernel compatibility
- Unable to connect to the Docker daemon
- IP forwarding problems
- DNS resolver issues
- Specify DNS servers for Docker
- Turn off dnsmasq
- Ubuntu
- RHEL, CentOS, or Fedora
- Allow access to the remote API through a firewall
- Kernel cgroup swap limit capabilities
- Docker Desktop fails to start with WSL2 based engine enabled #6971
- Comments
- Expected behavior
- Actual behavior
- Information
- Footer
- Не удается запустить докер после установки в Windows
- Ошибка при установке Docker Desktop для Windows 10
- 12 ответов
Troubleshoot Docker Engine installation
This page contains instructions for troubleshooting and diagnosing the Docker Engine installation.
Kernel compatibility
Docker can’t run correctly if your kernel is older than version 3.10, or if it’s missing kernel modules. To check kernel compatibility, you can download and run the check-config.sh script.
The script only works on Linux.
Unable to connect to the Docker daemon
This error may indicate:
- The Docker daemon isn’t running on your system. Start the daemon and try running the command again.
- Your Docker client is attempting to connect to a Docker daemon on a different host, and that host is unreachable.
To see which host your client is connecting to, check the value of the DOCKER_HOST variable in your environment.
If this command returns a value, the Docker client is set to connect to a Docker daemon running on that host. If it’s unset, the Docker client is set to connect to the Docker daemon running on the local host. If it’s set in error, use the following command to unset it:
You may need to edit your environment in files such as
/.profile to prevent the DOCKER_HOST variable from being set erroneously.
If DOCKER_HOST is set as intended, verify that the Docker daemon is running on the remote host and that a firewall or network outage isn’t preventing you from connecting.
IP forwarding problems
If you manually configure your network using systemd-network with systemd version 219 or later, Docker containers may not be able to access your network. Beginning with systemd version 220, the forwarding setting for a given network ( net.ipv4.conf. .forwarding ) defaults to off. This setting prevents IP forwarding. It also conflicts with Docker’s behavior of enabling the net.ipv4.conf.all.forwarding setting within containers.
To work around this on RHEL, CentOS, or Fedora, edit the .network file in /usr/lib/systemd/network/ on your Docker host, for example, /usr/lib/systemd/network/80-container-host0.network .
Add the following block within the [Network] section.
This configuration allows IP forwarding from the container as expected.
DNS resolver issues
Linux desktop environments often have a network manager program running, that uses dnsmasq to cache DNS requests by adding them to /etc/resolv.conf . The dnsmasq instance runs on a loopback address such as 127.0.0.1 or 127.0.1.1 . It speeds up DNS look-ups and provides DHCP services. Such a configuration doesn’t work within a Docker container. The Docker container uses its own network namespace, and resolves loopback addresses such as 127.0.0.1 to itself, and it’s unlikely to be running a DNS server on its own loopback address.
If Docker detects that no DNS server referenced in /etc/resolv.conf is a fully functional DNS server, the following warning occurs:
If you see this warning, first check to see if you use dnsmasq :
If your container needs to resolve hosts which are internal to your network, the public nameservers aren’t adequate. You have two choices:
- Specify DNS servers for Docker to use.
Turn off dnsmasq .
Turning off dnsmasq adds the IP addresses of actual DNS nameserver to /etc/resolv.conf , and you lose the benefits of dnsmasq .
You only need to use one of these methods.
Specify DNS servers for Docker
The default location of the configuration file is /etc/docker/daemon.json . You can change the location of the configuration file using the —config-file daemon flag. The following instruction assumes that the location of the configuration file is /etc/docker/daemon.json .
Create or edit the Docker daemon configuration file, which defaults to /etc/docker/daemon.json file, which controls the Docker daemon configuration.
Add a dns key with one or more DNS server IP addresses as values.
If the file has existing contents, you only need to add or edit the dns line. If your internal DNS server can’t resolve public IP addresses, include at least one DNS server that can. Doing so allows you to connect to Docker Hub, and your containers to resolve internet domain names.
Save and close the file.
Restart the Docker daemon.
Verify that Docker can resolve external IP addresses by trying to pull an image:
If necessary, verify that Docker containers can resolve an internal hostname by pinging it.
Turn off dnsmasq
Ubuntu
If you prefer not to change the Docker daemon’s configuration to use a specific IP address, follow these instructions to turn off dnsmasq in NetworkManager.
Edit the /etc/NetworkManager/NetworkManager.conf file.
Comment out the dns=dnsmasq line by adding a # character to the beginning of the line.
Save and close the file.
Restart both NetworkManager and Docker. As an alternative, you can reboot your system.
RHEL, CentOS, or Fedora
To turn off dnsmasq on RHEL, CentOS, or Fedora:
Turn off the dnsmasq service:
Configure the DNS servers manually using the Red Hat documentation.
Allow access to the remote API through a firewall
If you run a firewall on the same host as you run Docker, and you want to access the Docker Remote API from another remote host, you must configure your firewall to allow incoming connections on the Docker port. The default port is 2376 if you’re using TLS encrypted transport, or 2375 otherwise.
Two common firewall daemons are:
- Uncomplicated Firewall (UFW), often used for Ubuntu systems.
- firewalld, often used for RPM-based systems.
Consult the documentation for your OS and firewall. The following information might help you get started. These settings used in this instruction are permissive, and you may want to use a different configuration that locks your system down more.
For UFW, set DEFAULT_FORWARD_POLICY=»ACCEPT» in your configuration.
For firewalld, add rules similar to the following to your policy. One for incoming requests, and one for outgoing requests.
Make sure that the interface names and chain names are correct.
Kernel cgroup swap limit capabilities
On Ubuntu or Debian hosts, you may see messages similar to the following when working with an image.
If you don’t need these capabilities, you can ignore the warning.
You can turn on these capabilities on Ubuntu or Debian by following these instructions. Memory and swap accounting incur an overhead of about 1% of the total available memory and a 10% overall performance degradation, even when Docker isn’t running.
Log into the Ubuntu or Debian host as a user with sudo privileges.
Edit the /etc/default/grub file. Add or edit the GRUB_CMDLINE_LINUX line to add the following two key-value pairs:
Save and close the file.
Update the GRUB boot loader.
An error occurs if your GRUB configuration file has incorrect syntax. In this case, repeat steps 2 and 3.
The changes take effect when you reboot the system.
Источник
Docker Desktop fails to start with WSL2 based engine enabled #6971
- I have tried with the latest version of my channel (Stable or Edge)
- I have uploaded Diagnostics
- Diagnostics ID: D6C760E2-E400-4DBD-BF7F-C51A09032AA0/20200530010012
Expected behavior
Docker Desktop starts
Actual behavior
Docker Desktop fails to start
Information
This problem started after the 5 2020 Windows update.
- Windows Version: Microsoft Windows Pro 10.0.19041 Build 19041
- Docker Desktop Version: 2.3.0.3 stable
- Are you running inside a virtualized Windows e.g. on a cloud server or on a mac VM: No
- Start Docker Desktop
The text was updated successfully, but these errors were encountered:
In the diagnostics I can see an error «[WSL2Provisioning ][Error ] Failed to terminate distro: exit code: -1 stdout: There is no distribution with the supplied name.»
Could you run the following command in a PowerShell terminal and paste the output here?
If there is a docker-desktop distro, try the following:
- Stop Docker Desktop
- In a PowerShell terminal run the following command: wsl —unregister docker-desktop
- Start Docker Desktop again, it should create the distro again.
Thanks @StefanScherer — that worked perfectly. For reference, docker-desktop was stuck in an Installing state.
It oddly couldn’t find it when unregistering, but, worked successfully, in any case.
Docker was then successfully able to start with both docker-desktop entries showing in Running state.
Thanks, I had this very same problem! This might be good to add to the troubleshooting.
I tried the suggested fix, and it didn’t work for me. I’ve created a ticket for it. #7760
After reinstalling edge (2.3.3.2) ,I also tried the workaround of deregistering the docker-desktop distribution. Just as @LotusGeek reported, it recreates it the distribution and docker fails to start. I’ll add my diagnostics to #7760.
In the diagnostics I can see an error «[WSL2Provisioning ][Error ] Failed to terminate distro: exit code: -1 stdout: There is no distribution with the supplied name.»
Could you run the following command in a PowerShell terminal and paste the output here?
If there is a docker-desktop distro, try the following:
- Stop Docker Desktop
- In a PowerShell terminal run the following command: wsl —unregister docker-desktop
- Start Docker Desktop again, it should create the distro again.
I ran the command wsl.exe —unregister docker-desktop and it is running since long time with the message Unregistering.
Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.
If you have found a problem that seems similar to this, please open a new issue.
Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
Не удается запустить докер после установки в Windows
Я новичок в Docker. После установки Docker Toolbox (OS: Windows 10) я запускаю терминал быстрого запуска Docker и в консоли вижу следующее:
Что я сделал неправильно? Вся проверка шагов системы и установки взята из здесь.
Большое спасибо за вашу помощь!
Я получил ту же ошибку, когда установил Docker Toolbox на мой компьютер с Windows 10.
Откройте Панель управления → Система и безопасность → Программы (левая панель) → Включить или выключить функции Windows → Установите флажок Hyper-V
Начиная с 2017 года Win 10, если у вас нет опции Hyper-V, значит, ваша ОС Windows не Enterprise Edition. Кроме того, Docker, кажется, работает намного лучше на процессорах Intel (не AMD).
- Добавьте C:Program FilesDockerDockerresourcesbin в путь в переменных среды.
- Откройте Git Bash и введите docker-compose up , и теперь эта команда должна работать.
Если у вас нет GitBash, пожалуйста, загрузите его.
Hyper-V и VirtualBox конфликтуют друг с другом.
Вы можете либо удалить Hyper-V, либо запустить
Вам необходимо выполнить следующие шаги:
Создайте виртуальный коммутатор, обратитесь к этой статье, чтобы узнать, как это сделать
.Создайте докер, используя этот сетевой коммутатор и драйвер hyper-V.
У меня была такая же проблема, и этот сообщение в блоге разрешило это. Автор проведет вас по шагам добавления флага —virtualbox-no-vtx-check в оболочку docker script.
Virtualbox и Hyper-V не работают хорошо. Я НЕ являюсь автором.
Я отключил Hyper-V, используя функцию Windows, и это сработало для меня.
Посмотрите, когда вы бежите:
docker-machine create -d hyperv —hyperv-virtual-switch «Virtual Switch» default
Вы получаете сообщение об Error with: pre-create check: «Hyper-V PowerShell Module is not available»
Если это так, просто включите в Docker (значок на рабочем столе) → settings-> выставьте демон в TCP…
Я нажал кнопку Windows на клавиатуре. Напечатано ‘Диспетчер Hyper-V’. Он открыл “Диспетчер Hyper-V”. Затем я щелкнул правой кнопкой мыши по имени моей машины. Была возможность “остановиться”. Я выбрал эту опцию. Он остановил Hyper-V на моей машине, а затем Kitematic работал нормально, то есть он загрузил hello-world-nginx и отобразил веб-страницу.
ПРИМЕЧАНИЕ: это странно, и я не уверен, почему. После того, как я выполнил вышеуказанные шаги, теперь, когда я перезапустил Hyper-V с помощью диспетчера Hyper-V, Kitematic все еще работает и загружает изображения. Кто-нибудь может прокомментировать, почему он все еще работает, когда Hyper-V также работает? Спасибо.
Хороший
Али Ахсан
Решение, предложенное @Gene, является правильным и отлично работает, если:
- Один имеет Windows Pro Edition
- Инструменты управления Hyper-V и платформа Hyper-V включены
Иногда это не всегда так; вот что нужно сделать:
Проверьте Windows Edition:
Чтобы проверить, какая версия щелкните правой кнопкой мыши на ключе Windows и выберите “Система”.
Прокрутите вниз до спецификаций Windows и посмотрите на [Edition]
Проверьте платформу Hyper-V (виртуализация)
Чтобы платформа Hyper-V была включена, необходимо включить виртуализацию; обычно это делается через BIOS.
На ноутбуке HP это делается из BIOS.
- При запуске нажмите Ctrl + F10
- Нажмите клавишу со стрелкой вправо, чтобы перейти на вкладку “Конфигурация системы”.
- Выберите технологию виртуализации и нажмите клавишу ввода.
- Выберите Enabled и нажмите клавишу Enter.
После выполнения этих действий:
- Поиск Включение или отключение функций Windows.
- Прокрутите вниз до Hyper-V
- Поставьте галочку в этом поле (убедитесь, что вы видите галочку НЕ черный ящик, который указывает на то, что некоторые функции не включены)
После перезапуска докер должен работать… удачи !!
Источник
Ошибка при установке Docker Desktop для Windows 10
Я получаю эту ошибку во время установки — предыдущая установка зависла, а затем не завершилась успешно. Любая идея, как исправить это или очистить и перезапустить?
12 ответов
Отключение службы питания тоже сработало для меня.
- Откройте msconfig.exe в строке меню Windows.
- Перейдите на вкладку «услуги»
- Начните вводить «power», и он автоматически найдет нужный сервис.
- Снимите флажок
- Перезагрузите компьютер
- Убедитесь, что на вашем диске нет установочных файлов Docker.
- Запустите процесс установки снова и, надеюсь, это сработает для вас.
У меня была такая же проблема, и, похоже, она начала происходить после продолжительного обновления окна.
Мне удалось решить проблему, остановив и отключив оконную службу «питание» (управление питанием). Я повторил этот процесс два раза и, по крайней мере, в моем случае, мне показалось, что это постоянная проблема. Убедитесь, что эта служба не запущена, по крайней мере, в моем случае она работала, надеюсь, это поможет.
Пробовал все (перезагрузка, разные версии 2.5, 3.0, 3.3, питание, отключение постоянной защиты). Мне помогло только увеличение таймаута:
- Нажмите «Пуск», выберите «Выполнить», введите Regedit и нажмите «ОК».
- Найдите и щелкните следующий подраздел реестра:
- HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
- На правой панели найдите запись ServicesPipeTimeout. Примечание. Если запись ServicesPipeTimeout не существует, ее необходимо создать. Для этого выполните следующие действия:
- В меню «Правка» наведите указатель на пункт «Создать» и выберите «Значение DWORD».
- Введите ServicesPipeTimeout и нажмите клавишу ВВОД.
- Щелкните правой кнопкой мыши ServicesPipeTimeout и выберите команду Изменить.
- Щелкните десятичное число, введите 60000 и нажмите кнопку ОК.
Источник