Docker engine failed to start windows 10 как исправить

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/20...

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

  1. Try to run Docker Desktop
  2. Docker Desktop try to start Docker Engine
  3. Docker Engine failed to start after couple of minutes
  4. 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()

image

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
docker_desktop_not_starting_1

After sometime it will get into this state
docker_desktop_not_starting_5

Error Details

The possible error screens and messages. Typically it comes as a pop-up when the Docker fails.
docker_desktop_not_starting_4

docker_desktop_not_starting_3

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

docker_desktop_not_starting_2

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, IDictionary2 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.

docker_desktop_not_starting_services
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.
docker_desktop_not_starting_powershell

I opened the log file and noticed similar access denied error.
docker_desktop_not_starting_panicerror

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
docker_engine_not_starting_permission

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.

enter image description here

asked May 5, 2021 at 18:22

user3552342's user avatar

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's user avatar

SkyWalker

27.9k12 gold badges72 silver badges129 bronze badges

answered May 5, 2021 at 18:34

user3552342's user avatar

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

vladik's user avatar

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 Kumar's user avatar

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:

wsl -l -v

Then execute "wsl --shutdown" on the command line.

Then execute "wsl -l -v", you will see:

wsl -l -v

Then start Docker Desktop.

This solved my problem.

tripleee's user avatar

tripleee

170k31 gold badges261 silver badges305 bronze badges

answered Mar 2, 2022 at 4:16

Igor V's user avatar

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

Saksham Sharma's user avatar

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

Artem Ivashkin's user avatar

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 —

  1. Copy below snippet

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2ParametersAppId_Catalog408F7A3]
«AppFullPath»=»C:WindowsSystem32wsl.exe»
«PermittedLspCategories»=dword:80000000

  1. Save it as a file wsl.reg
  2. Execute the file to update the wsl registry
  3. 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 Chauhan's user avatar

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 Menko's user avatar

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 Saxena's user avatar

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's user avatar

Moshisho

2,7311 gold badge22 silver badges37 bronze badges

asked Apr 27, 2016 at 9:39

Denis  Starkov's user avatar

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

ArgonQQ's user avatar

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's user avatar

phuclv

36k13 gold badges147 silver badges456 bronze badges

answered Sep 5, 2016 at 6:10

curiousgeek's user avatar

curiousgeekcuriousgeek

8466 silver badges11 bronze badges

4

I got the same error when I installed Docker Toolbox on my Windows 10 machine.

Solution:

  1. Install Docker Community Edition (not Docker Toolbox)
  2. 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).

  1. Add C:Program FilesDockerDockerresourcesbin to Path in Environmental Variables.
  2. Open Git Bash and type docker-compose up and now that command should work.

If you don’t have GitBash, please download it.

phuclv's user avatar

phuclv

36k13 gold badges147 silver badges456 bronze badges

answered Nov 22, 2017 at 18:01

Gene's user avatar

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

cph2117's user avatar

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

ScarletAndGray's user avatar

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's user avatar

JuanCrg90

1,00614 silver badges24 bronze badges

answered Jun 26, 2018 at 14:27

shiraz lavi's user avatar

1

You need to disable Hypervisor to check new application that use VT-x before the virtual machine launch:

  1. Open the command prompt as Administrator

  2. Run bcdedit to check hypervisor status:

  3. Check hypervisor launch type.

  4. If is set to auto then disable it:

    bcdedit /set hypervisorlaunchtype off 
    
  5. Reboot host machine and launch VirtualBox again

After performing above steps I opened again Docker Quickstart terminal and it is working fine.

double-beep's user avatar

double-beep

4,85916 gold badges32 silver badges41 bronze badges

answered May 28, 2020 at 15:12

Suresh V's user avatar

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

Muhammad Ali Ahsan's user avatar

The solution as suggested by @Gene is correct and works perfectly if:

  1. One has windows pro edition
  2. 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:

  1. Search for Turn Windows features on or off.
  2. Scroll down to Hyper-V
  3. 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

Ithar's user avatar

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's user avatar

Moshisho

2,7311 gold badge22 silver badges37 bronze badges

asked Apr 27, 2016 at 9:39

Denis  Starkov's user avatar

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

ArgonQQ's user avatar

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's user avatar

phuclv

36k13 gold badges147 silver badges456 bronze badges

answered Sep 5, 2016 at 6:10

curiousgeek's user avatar

curiousgeekcuriousgeek

8466 silver badges11 bronze badges

4

I got the same error when I installed Docker Toolbox on my Windows 10 machine.

Solution:

  1. Install Docker Community Edition (not Docker Toolbox)
  2. 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).

  1. Add C:Program FilesDockerDockerresourcesbin to Path in Environmental Variables.
  2. Open Git Bash and type docker-compose up and now that command should work.

If you don’t have GitBash, please download it.

phuclv's user avatar

phuclv

36k13 gold badges147 silver badges456 bronze badges

answered Nov 22, 2017 at 18:01

Gene's user avatar

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

cph2117's user avatar

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

ScarletAndGray's user avatar

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's user avatar

JuanCrg90

1,00614 silver badges24 bronze badges

answered Jun 26, 2018 at 14:27

shiraz lavi's user avatar

1

You need to disable Hypervisor to check new application that use VT-x before the virtual machine launch:

  1. Open the command prompt as Administrator

  2. Run bcdedit to check hypervisor status:

  3. Check hypervisor launch type.

  4. If is set to auto then disable it:

    bcdedit /set hypervisorlaunchtype off 
    
  5. Reboot host machine and launch VirtualBox again

After performing above steps I opened again Docker Quickstart terminal and it is working fine.

double-beep's user avatar

double-beep

4,85916 gold badges32 silver badges41 bronze badges

answered May 28, 2020 at 15:12

Suresh V's user avatar

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

Muhammad Ali Ahsan's user avatar

The solution as suggested by @Gene is correct and works perfectly if:

  1. One has windows pro edition
  2. 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:

  1. Search for Turn Windows features on or off.
  2. Scroll down to Hyper-V
  3. 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

Ithar's user avatar

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)'.

ss_docker_startserviceerror

So, after a bit of digging around I found the following error in the Windows Event Log in the Application logs:

ss_docker_startserviceerror_eventlog

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:

ss_docker_startserviceerror_eventlog

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:

ss_docker_startservice_uninstalldevice

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:

ss_docker_startservice_dockerstarts

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.

Содержание

  1. Docker Desktop for Windows fails to start #3764
  2. Comments
  3. SethMcFarland commented Apr 17, 2019
  4. Expected behavior
  5. Actual behavior
  6. Information
  7. Steps to reproduce the behavior
  8. Things I’ve tried so far
  9. mikeparker commented Apr 17, 2019
  10. hjl commented Apr 17, 2019 •
  11. SethMcFarland commented Apr 17, 2019
  12. mikeparker commented Apr 18, 2019
  13. SethMcFarland commented Apr 18, 2019
  14. Docker Failed to Start
  15. 8 Answers 8
  16. докер не запускается в Windows
  17. Вариант А
  18. Вариант Б
  19. Docker fails on startup on Win-10 after the update #8748
  20. Comments
  21. durmusdeniz commented Oct 1, 2020
  22. simonferquel commented Oct 1, 2020
  23. simonferquel commented Oct 1, 2020
  24. durmusdeniz commented Oct 1, 2020
  25. simonferquel commented Oct 1, 2020
  26. durmusdeniz commented Oct 1, 2020
  27. simonferquel commented Oct 1, 2020
  28. durmusdeniz commented Oct 1, 2020
  29. simonferquel commented Oct 1, 2020
  30. T-SANS commented Oct 2, 2020
  31. freakpants commented Oct 5, 2020
  32. simplesalt commented Dec 23, 2020
  33. Исправление проблем под Docker. Казалось бы, при чём здесь GIT?
  34. Постскриптум

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.

rRHRD

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.

photo

z6QQ5

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

kAHqe

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

photo

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

Это займет несколько минут

Затем вы увидите следующее сообщение:

Докер работает с зеленым индикатором

2znwW

Попробуйте решить проблему одним из следующих способов:

Вариант А

Вариант Б

Откройте «Безопасность окон»

Откройте «Управление приложением и браузером»

Нажмите «Настройки защиты от эксплойтов» внизу.

Перейдите на вкладку «Настройки программы»

Найдите в списке «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?

image loader

Докер под Windows — это постоянные приключения. То ему нужно обновить операционку, иначе последние версии не ставятся, то он забывает, как подключаться к сети. В общем, каждый день от него новости. «Поставил и забыл» — это не про Docker Desktop for Windows. Особенно, когда он используется не совсем так, как рекомендуют его разработчики. А они почему-то не одобряют подключение внешних windows сетевых дисков в качестве локальных. И совсем не одобряют доступ к к таким сетевым папкам, которые расположены ещё и на host машине. Пишут, что это ужас-ужас с точки зрения безопасности, требуют всяких ключей типа:

cap_add:
— SYS_ADMIN
— DAC_READ_SEARCH

для работы команды mount в контейнере и прочая, и прочая.

В общем, когда в очередной раз после выгрузки контейнеров на сервер заказчика сервисы перестали видеть сетевые диски, я не особо удивился. Так уже бывало, и даже была написана пошаговая инструкция для группы поддержки, как и что перезагружать, когда ломаются сетевые настройки докера.

Так что я открываю свою инструкцию и начинаю действовать. Перезапускаю контейнеры — не помогает. Перезапускаю через docker-compose с пересозданием инфраструктуры — не помогает. Сбрасываю настройки Docker к заводским, восстанавливаю параметры виртуалки, загружаю заново образы, запускаю через docker-compose — опять всё по старому — не видит сеть. Точнее не подключается к сетевым шарам, хотя пинг из контейнера до SMB сервера проходит нормально. Последний пункт — перезагрузку сервера и переустановку Docker, пока пропускаю, так как перезагружать сервер очень не хочется. На этом инструкция кончилась.

Ок, перехожу на свою домашнюю машину, тут у меня тоже Docker под Windows, но чуть более новой версии. Проверяю на нём. Те же яйца:

image loader

Ага. Ну неужели, думаю, 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 и открываем скрипт на редактирование, а там:

image loader

Оппа! ^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. Ерунда, конечно, по сравнению с другими новостями.

Источник

Содержание

  1. Troubleshoot Docker Engine installation
  2. Kernel compatibility
  3. Unable to connect to the Docker daemon
  4. IP forwarding problems
  5. DNS resolver issues
  6. Specify DNS servers for Docker
  7. Turn off dnsmasq
  8. Ubuntu
  9. RHEL, CentOS, or Fedora
  10. Allow access to the remote API through a firewall
  11. Kernel cgroup swap limit capabilities
  12. Docker Desktop fails to start with WSL2 based engine enabled #6971
  13. Comments
  14. Expected behavior
  15. Actual behavior
  16. Information
  17. Footer
  18. Не удается запустить докер после установки в Windows
  19. Ошибка при установке Docker Desktop для Windows 10
  20. 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
  1. 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:

  1. Stop Docker Desktop
  2. In a PowerShell terminal run the following command: wsl —unregister docker-desktop
  3. 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:

  1. Stop Docker Desktop
  2. In a PowerShell terminal run the following command: wsl —unregister docker-desktop
  3. 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).

  1. Добавьте C:Program FilesDockerDockerresourcesbin в путь в переменных среды.
  2. Откройте 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, является правильным и отлично работает, если:

  1. Один имеет Windows Pro Edition
  2. Инструменты управления Hyper-V и платформа Hyper-V включены

Иногда это не всегда так; вот что нужно сделать:

Проверьте Windows Edition:

Чтобы проверить, какая версия щелкните правой кнопкой мыши на ключе Windows и выберите “Система”.
Прокрутите вниз до спецификаций Windows и посмотрите на [Edition]

Проверьте платформу Hyper-V (виртуализация)

Чтобы платформа Hyper-V была включена, необходимо включить виртуализацию; обычно это делается через BIOS.

На ноутбуке HP это делается из BIOS.

  • При запуске нажмите Ctrl + F10
  • Нажмите клавишу со стрелкой вправо, чтобы перейти на вкладку “Конфигурация системы”.
  • Выберите технологию виртуализации и нажмите клавишу ввода.
  • Выберите Enabled и нажмите клавишу Enter.

После выполнения этих действий:

  1. Поиск Включение или отключение функций Windows.
  2. Прокрутите вниз до Hyper-V
  3. Поставьте галочку в этом поле (убедитесь, что вы видите галочку НЕ черный ящик, который указывает на то, что некоторые функции не включены)

После перезапуска докер должен работать… удачи !!

Источник

Ошибка при установке Docker Desktop для Windows 10

Я получаю эту ошибку во время установки — предыдущая установка зависла, а затем не завершилась успешно. Любая идея, как исправить это или очистить и перезапустить?

12 ответов

Отключение службы питания тоже сработало для меня.

  1. Откройте msconfig.exe в строке меню Windows.
  2. Перейдите на вкладку «услуги»
  3. Начните вводить «power», и он автоматически найдет нужный сервис.
  4. Снимите флажок
  5. Перезагрузите компьютер
  6. Убедитесь, что на вашем диске нет установочных файлов Docker.
  7. Запустите процесс установки снова и, надеюсь, это сработает для вас.

У меня была такая же проблема, и, похоже, она начала происходить после продолжительного обновления окна.

Мне удалось решить проблему, остановив и отключив оконную службу «питание» (управление питанием). Я повторил этот процесс два раза и, по крайней мере, в моем случае, мне показалось, что это постоянная проблема. Убедитесь, что эта служба не запущена, по крайней мере, в моем случае она работала, надеюсь, это поможет.

Пробовал все (перезагрузка, разные версии 2.5, 3.0, 3.3, питание, отключение постоянной защиты). Мне помогло только увеличение таймаута:

  1. Нажмите «Пуск», выберите «Выполнить», введите Regedit и нажмите «ОК».
  2. Найдите и щелкните следующий подраздел реестра:
  3. HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
  4. На правой панели найдите запись ServicesPipeTimeout. Примечание. Если запись ServicesPipeTimeout не существует, ее необходимо создать. Для этого выполните следующие действия:
  • В меню «Правка» наведите указатель на пункт «Создать» и выберите «Значение DWORD».
  • Введите ServicesPipeTimeout и нажмите клавишу ВВОД.
  1. Щелкните правой кнопкой мыши ServicesPipeTimeout и выберите команду Изменить.
  2. Щелкните десятичное число, введите 60000 и нажмите кнопку ОК.

Источник

Понравилась статья? Поделить с друзьями:
  • Docker desktop stopping как исправить
  • Docker compose error while fetching server api version
  • Docker compose error log
  • Docker build error during connect
  • Docker 404 error