Docker desktop stopped что делать
Перейти к содержимому

Docker desktop stopped что делать

  • автор:

"Docker Desktop stopped. " message after installation [closed]

This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.

Closed last year .

The community reviewed whether to reopen this question 6 months ago and left it closed:

Original close reason(s) were not resolved

Installed docker desktop for windows, after having installed the linux kernel update package and changing to wsl 2 version (virtualization is enabled) but i get the message "Docker Desktop stopped. " as shown below.

  • uninstalling and reinstalling again
  • run application as administrator

enter image description here

5 Answers 5

Just go to the config file at C:\Users\<username>\AppData\Roaming\Docker\settings.json , and set "wslEngineEnabled": true

I had to restart after saving.

I had the same problem. If you are using docker 4.5.0, try uninstall and install 4.4.4 instead. That worked for me.

A new version of Docker Desktop (4.5.1), released on 2022-02-15 fixes this problem.

Endless «Docker desktop stopping» #12576

Several months I didn’t use Docker at Windows 10 Pro(v.4.2). Today I’ve tried to start it. It freezes at «Docker Desktop starting» stage.
I’ve tried to remove and install Docker Desktop. As I understand it tries to start at WSL2 (Why you can’t ask it at install stage?)
How can I switch it to Hyper-V mode if it can’t start?
Why setting are not available while full app with all containers will be loaded?

The text was updated successfully, but these errors were encountered:

Hi @Eugentis, If you want to switch to Hyper-V you can edit the $env:APPDATA\Docker\settings.json file and set wslEngineEnabled to false .

We’re looking how we can improve the settings and unblock them for such tasks.

But disabling app settings is not the best solution in real world. It should be available independent on Docker engine status

Same here with Docker Desktop 4.5.1 running on an Win 10 Pro Azure VM. On startup it says that WSL is missing, but then is stuck in Docker Desktop stopping state, which means that it is not possible to switch to Hyper-V backend.

Also having this issue, with same version of Docker on Win 10.

A solution that worked for me from the front-end: Go to docker desktop —> Troubleshoot —> Clean / Purge data —> click on wsl 2 and delete.

image

Once removed, the docker deamon restarted and it worked fine.

@ajay16bharadwaj it works if your dashboard is active
But Docker has some strange behaviour with it.If you started or stoped container all dashboard wil be disabled
As for me it is very strange approach

Facing same issue ..Any fix for this?

image

A solution that worked for me from the front-end: Go to docker desktop —> Troubleshoot —> Clean / Purge data —> click on wsl 2 and delete.

Once removed, the docker deamon restarted and it worked fine.

This worked for me, thanks!

1.download this soft from https://docs.microsoft.com/en-us/sysinternals/downloads/rammap
2.
image
3.restart docker desktop
4.It’s work!
image

I have tried every thing still i am unable to open the docker it is stuck on docker desktop stopped. Any help?

Try to update the WSL (.msi extension). after installing this app is working fine.

I have tried latest Docker 4.9.0 , the key is

Embedded Error

I tried all the stuff already posted above but all to no avail. I realized that each time I restarted the docker desktop app, a «WSL 2 Installation incomplete» pop-up message comes. I clicked the link and reinstalled the kernel update and it worked.

Faced the same problem. Restarted my pc and it started working.

Eu tentei o Docker mais recente 4.9.0 , a chave é

Após executar esse comando e reiniciar a máquina, o docker desktop funcionou corretamente!

After running this command and restarting the machine, docker desktop worked correctly

Make sure after Docker For Desktop (Windows) installation thatWSL (Windows subsystem for Linux) is installed.
before your linux configuration machine, at powershell: wsl —set-default-version 2

It is solved my issue.

Hi @Eugentis, If you want to switch to Hyper-V you can edit the $env:APPDATA\Docker\settings.json file and set wslEngineEnabled to false .

We’re looking how we can improve the settings and unblock them for such tasks.

This worked for me, Thanks.

I am able to run Docker Desktop by following below steps.

Use WSL V2 to smoothly run Docker Desktop. To set default wsl version to v2, run wsl.exe —set-default-version 2

Install your Linux flavor. I tried with Ubuntu-18.04 by running command: wsl —install -d Ubuntu-18.04

Above command will install ubuntu with WSL V2, but to make sure you can run command: wsl.exe —set-version Ubuntu-18.04 2

image

To check the version of your installed linux flavor and respective wsl version: wsl.exe -l -v

image

Then freshly install Docker Desktop for Windows. It should start running within sometime.

Hi, I also ran into this problem, I don’t know exactly what happened, But I think it should be wsl that went wrong, because my wsl can’t be opened; After I referred to this answer, I did a reset of the network.

I executed the following two commands:

image

And restarted my computer,I can open my wsl now:

I have tried latest Docker 4.9.0 , the key is

This work for me as well .
(update: after few restart I am still facing the problem)
temporary solution (which work for me)
Powershell

  1. Force stop docker desktop (task manager)
  2. Run wsl —shutdown in power shell
  3. Start docker desktop again

I ran into this problem today.
This is really bad, I wish they can fix it soon.
Hardware: ASUS TUF DASH F15
Software: Windows 10 Home 21H2 (OS build: 19044.1826)
Docker Version: latest as of today ( I was not able to go to the settings page. It was running forever)

Here were the list of things I tried but didn’t work:

  1. Uninstalled the current version and installed the latest on docker official website.
  2. Go to Troubleshoot on docker desktop and click «Clean/Purge data» (click on wsl 2 and delete)
  3. Go to Troubleshoot on docker desktop and click «Reset to factory defaults»
  4. Edit the $env:APPDATA\Docker\settings.json file and set wslEngineEnabled to false

At least point I found that my WSL was broken by trying to get Docker to work.
I was not able to try the solutions provided above that relates to running the wsl command.
Whenever I typed wsl, it was waiting forever on my terminal and nothing happened.

The fact that Docker destroyed my WSL really pissed me off because I relied on WSL to do all the source
control on my machine and interact with remote machines.

Embedded Error

I tried all the stuff already posted above but all to no avail. I realized that each time I restarted the docker desktop app, a «WSL 2 Installation incomplete» pop-up message comes. I clicked the link and reinstalled the kernel update and it worked.

This issue will be resolved by modifying the settings.json file.
1- Path of the file: C:\Users<username>\AppData\Roaming\Docker\settings.json
2- Set «wslEngineEnabled»: false

Hi @Eugentis, If you want to switch to Hyper-V you can edit the $env:APPDATA\Docker\settings.json file and set wslEngineEnabled to false .

We’re looking how we can improve the settings and unblock them for such tasks.

Already did and still not working.

  1. If there is a VPN running, try disconnecting VPN and restart Docker Desktop.
  2. Click on troubleshoot (bug) icon on the right top corner, perform a factory reset, and purge data.

To resolve this issue, as shown in dialog “Docker Desktop – Install WSL2 kernel update” we need to download from the reference link mentioned in dialog – https://aka.ms/wsl2kernel

Install the WSL2 kernel update then restart Docker. This should work

image

Image for reference

Either Docker or Windows should do something for this. None of the solution is working for me.

image

A solution that worked for me from the front-end: Go to docker desktop —> Troubleshoot —> Clean / Purge data —> click on wsl 2 and delete.
Once removed, the docker deamon restarted and it worked fine.

Logs and troubleshooting

This page contains information on how to diagnose and troubleshoot problems, send logs and communicate with the Docker Desktop team, use our forums and Knowledge Hub, browse and log issues on GitHub, and find workarounds for known problems.

Troubleshoot

Choose whale menu> Troubleshoot from the menu bar to see the troubleshoot options.

Uninstall or reset Docker

The Troubleshoot page contains the following options:

Restart Docker Desktop: Select to restart Docker Desktop.

Run Diagnostics: Select this option to diagnose any issues on Docker Desktop. For detailed information about diagnostics, see Diagnose problems, send feedback, and create GitHub issues.

Clean / Purge data: Select this option to delete container and image data. Choose whether you’d like to delete data from Hyper-V, WSL 2, or Windows Containers and then click Delete to confirm.

Reset Kubernetes cluster: Select this option to delete all stacks and Kubernetes resources. For more information, see Kubernetes.

Reset to factory defaults: Choose this option to reset all options on Docker Desktop to their initial state, the same as when Docker Desktop was first installed.

Diagnose problems, send feedback, and create GitHub issues

In-app diagnostics

If you experience issues for which you do not find solutions in this documentation, on Docker Desktop for Windows issues on GitHub, or the Docker Desktop for Windows forum, we can help you troubleshoot the log data.

Choose whale menu> Troubleshoot from the menu.

Diagnose & Feedback

When the Diagnose & Feedback window initiated, it starts collecting diagnostics. When the diagnostics are available, you can upload them and obtain a Diagnostic ID, which must be provided when communicating with the Docker team. For more information on our policy regarding personal data, see how is personal data handled in Docker Desktop.

Diagnose & Feedback with ID

If you click on Report an issue, it opens Docker Desktop for Windows issues on GitHub in your web browser in a “New issue” template, to be completed before submission. Do not forget to include your diagnostic ID.

issue-template

Diagnosing from the terminal

On occasions it is useful to run the diagnostics yourself, for instance if Docker Desktop for Windows cannot start.

First locate the com.docker.diagnose , that should be in C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe .

To create and upload diagnostics in Powershell, run:

After the diagnostics have finished, you should have the following output, containing your diagnostic ID:

Troubleshooting topics

Make sure certificates are set up correctly

Docker Desktop ignores certificates listed under insecure registries, and does not send client certificates to them. Commands like docker run that attempt to pull from the registry produces error messages on the command line, like this:

As well as on the registry. For example:

For more about using client and server side certificates, see How do I add custom CA certificates? and How do I add client certificates? in the Getting Started topic.

Volumes

Permissions errors on data directories for shared volumes

Docker Desktop sets permissions on shared volumes to a default value of 0777 ( read , write , execute permissions for user and for group ).

The default permissions on shared volumes are not configurable. If you are working with applications that require permissions different from the shared volume defaults at container runtime, you need to either use non-host-mounted volumes or find a way to make the applications work with the default file permissions.

Volume mounting requires shared drives for Linux containers

If you are using mounted volumes and get runtime errors indicating an application file is not found, access is denied to a volume mount, or a service cannot start, such as when using Docker Compose, you might need to enable shared drives.

Volume mounting requires shared drives for Linux containers (not for Windows containers). Click whale menuand then Settings > Shared Drives and share the drive that contains the Dockerfile and volume.

Support for symlinks

Symlinks work within and across containers. To learn more, see How do symlinks work on Windows? in the FAQs.

Avoid unexpected syntax errors, use Unix style line endings for files in containers

Any file destined to run inside a container must use Unix style \n line endings. This includes files referenced at the command line for builds and in RUN commands in Docker files.

Docker containers and docker build run in a Unix environment, so files in containers must use Unix style line endings: \n , not Windows style: \r\n . Keep this in mind when authoring files such as shell scripts using Windows tools, where the default is likely to be Windows style line endings. These commands ultimately get passed to Unix commands inside a Unix based container (for example, a shell script passed to /bin/sh ). If Windows style line endings are used, docker run fails with syntax errors.

For an example of this issue and the resolution, see this issue on GitHub: Docker RUN fails to execute shell script.

Virtualization

Your machine must have the following features for Docker Desktop to function correctly:

Hyper-V installed and working

Virtualization enabled in the BIOS

Hyper-V

Docker Desktop requires Hyper-V as well as the Hyper-V Module for Windows Powershell to be installed and enabled. The Docker Desktop installer enables it for you.

Docker Desktop also needs two CPU hardware features to use Hyper-V: Virtualization and Second Level Address Translation (SLAT), which is also called Rapid Virtualization Indexing (RVI). On some systems, Virtualization must be enabled in the BIOS. The steps required are vendor-specific, but typically the BIOS option is called Virtualization Technology (VTx) or something similar. Run the command systeminfo to check all required Hyper-V features. See Pre-requisites for Hyper-V on Windows 10 for more details.

To install Hyper-V manually, see Install Hyper-V on Windows 10. A reboot is required after installation. If you install Hyper-V without rebooting, Docker Desktop does not work correctly.

From the start menu, type Turn Windows features on or off and press enter. In the subsequent screen, verify that Hyper-V is enabled:

Hyper-V on Windows features

Hyper-V driver for Docker Machine

The Docker Desktop installation includes the legacy tool Docker Machine which uses the old boot2docker.iso , and the Microsoft Hyper-V driver to create local virtual machines. This is tangential to using Docker Desktop, but if you want to use Docker Machine to create multiple local Virtual Machines (VMs), or to provision remote machines, see the Docker Machine topics. This is documented only for users looking for information about Docker Machine on Windows, which requires that Hyper-V is enabled, an external network switch is active, and referenced in the flags for the docker-machine create command as described in the Docker Machine driver example.

Virtualization must be enabled

In addition to Hyper-V or WSL 2, virtualization must be enabled. Check the Performance tab on the Task Manager:

Task Manager

If you manually uninstall Hyper-V, WSL 2 or disable virtualization, Docker Desktop cannot start. See Unable to run Docker for Windows on Windows 10 Enterprise.

Networking and WiFi problems upon Docker Desktop for Windows install

Some users may experience networking issues during install and startup of Docker Desktop. For example, upon install or auto-reboot, network adapters and/or WiFi may get disabled. In some scenarios, problems are due to having VirtualBox or its network adapters still installed, but in other scenarios this is not the case. See the GitHub issue Enabling Hyper-V feature turns my wi-fi off.

Here are some steps to take if you experience similar problems:

Ensure virtualization is enabled, as described above in Virtualization must be enabled.

Ensure Hyper-V is installed and enabled, as described above in Hyper-V must be enabled.

Ensure DockerNAT is enabled by checking the Virtual Switch Manager on the Actions tab on the right side of the Hyper-V Manager.

Hyper-V manager

Set up an external network switch. If you plan at any point to use Docker Machine to set up multiple local VMs, you need this anyway, as described in the topic on the Hyper-V driver for Docker Machine. You can replace DockerNAT with this switch.

If previous steps fail to solve the problems, follow steps on the Cleanup README.

Read the full description before you run the Windows cleanup script.

The cleanup command has two flags, -Cleanup and -ForceDeleteAllSwitches . Read the whole page before running any scripts, especially warnings about -ForceDeleteAllSwitches .

Windows containers and Windows Server

Docker Desktop is not supported on Windows Server. If you have questions about how to run Windows containers on Windows 10, see Switch between Windows and Linux containers.

You can install a native Windows binary which allows you to develop and run Windows containers without Docker Desktop. However, if you install Docker this way, you cannot develop or run Linux containers. If you try to run a Linux container on the native Docker daemon, an error occurs:

Limitations of Windows containers for localhost and published ports

Docker Desktop for Windows provides the option to switch Windows and Linux containers. If you are using Windows containers, keep in mind that there are some limitations with regard to networking due to the current implementation of Windows NAT (WinNAT). These limitations may potentially resolve as the Windows containers project evolves.

Windows containers work with published ports on localhost beginning with Windows 10 1809 using Docker Desktop for Windows as well as Windows Server 2019 / 1809 using Docker EE.

If you are working with a version prior to Windows 10 18.09 , published ports on Windows containers have an issue with loopback to the localhost. You can only reach container endpoints from the host using the container’s IP and port. With Windows 10 18.09 , containers work with published ports on localhost.

So, in a scenario where you use Docker to pull an image and run a webserver with a command like this:

Using curl http://localhost , or pointing your web browser at http://localhost does not display the nginx web page (as it would do with Linux containers).

To reach a Windows container from the local host, you need to specify the IP address and port for the container that is running the service.

You can get the container IP address by using docker inspect with some —format options and the ID or name of the container. For the example above, the command would look like this, using the name we gave to the container ( webserver ) instead of the container ID:

This gives you the IP address of the container, for example:

Now you can connect to the webserver by using http://172.17.0.2:80 (or simply http://172.17.0.2 , since port 80 is the default HTTP port.)

For more information, see:

Docker Desktop for Windows issue on GitHub: Port binding does not work for locahost

Running Docker Desktop in nested virtualization scenarios

Docker Desktop can run inside a Windows 10 VM running on apps like Parallels or VMware Fusion on a Mac provided that the VM is properly configured. However, problems and intermittent failures may still occur due to the way these apps virtualize the hardware. For these reasons, Docker Desktop is not supported in nested virtualization scenarios. It might work in some cases, and not in others.

For best results, we recommend you run Docker Desktop natively on a Windows system (to work with Windows or Linux containers), or on Mac to work with Linux containers.

If you still want to use nested virtualization

Make sure nested virtualization support is enabled in VMWare or Parallels. Check the settings in Hardware > CPU & Memory > Advanced Options > Enable nested virtualization (the exact menu sequence might vary slightly).

Configure your VM with at least 2 CPUs and sufficient memory to run your workloads.

Make sure your system is more or less idle.

Make sure your Windows OS is up-to-date. There have been several issues with some insider builds.

The processor you have may also be relevant. For example, Westmere based Mac Pros have some additional hardware virtualization features over Nehalem based Mac Pros and so do newer generations of Intel processors.

Typical failures we see with nested virtualization

Slow boot time of the Linux VM. If you look in the logs and find some entries prefixed with Moby . On real hardware, it takes 5-10 seconds to boot the Linux VM; roughly the time between the Connected log entry and the * Starting Docker . [ ok ] log entry. If you boot the Linux VM inside a Windows VM, this may take considerably longer. We have a timeout of 60s or so. If the VM hasn’t started by that time, we retry. If the retry fails we print an error. You can sometimes work around this by providing more resources to the Windows VM.

Sometimes the VM fails to boot when Linux tries to calibrate the time stamp counter (TSC). This process is quite timing sensitive and may fail when executed inside a VM which itself runs inside a VM. CPU utilization is also likely to be higher.

Ensure “PMU Virtualization” is turned off in Parallels on Macs. Check the settings in Hardware > CPU & Memory > Advanced Settings > PMU Virtualization.

Related issues

Discussion thread on GitHub at Docker for Windows issue 267.

Networking issues

IPv6 is not (yet) supported on Docker Desktop.

Some users have reported problems connecting to Docker Hub on the Docker Desktop stable version. (See GitHub issue 22567.)

Here is an example command and error message:

As an immediate workaround to this problem, reset the DNS server to use the Google DNS fixed address: 8.8.8.8 . You can configure this through the Settings

Network dialog, as described in the topic Network. Docker automatically restarts when you apply this setting, which could take some time.

NAT/IP configuration

By default, Docker Desktop uses an internal network prefix of 10.0.75.0/24 . Should this clash with your normal network setup, you can change the prefix from the Settings menu. See the Network topic under Settings.

Workarounds

Reboot

Restart your PC to stop / discard any vestige of the daemon running from the previously installed version.

Unset DOCKER_HOST

The DOCKER_HOST environmental variable does not need to be set. If you use bash, use the command unset $ to unset it. For other shells, consult the shell’s documentation.

Make sure Docker is running for webserver examples

For the hello-world-nginx example and others, Docker Desktop must be running to get to the webserver on http://localhost/ . Make sure that the Docker whale is showing in the menu bar, and that you run the Docker commands in a shell that is connected to the Docker Desktop Engine (not Engine from Toolbox). Otherwise, you might start the webserver container but get a “web page not available” error when you go to docker .

How to solve port already allocated errors

If you see errors like Bind for 0.0.0.0:8080 failed: port is already allocated or listen tcp:0.0.0.0:8080: bind: address is already in use .

These errors are often caused by some other software on Windows using those ports. To discover the identity of this software, either use the resmon.exe GUI and click “Network” and then “Listening Ports” or in a Powershell use netstat -aon | find /i «listening » to discover the PID of the process currently using the port (the PID is the number in the rightmost column). Decide whether to shut the other process down, or to use a different port in your docker app.

Docker Desktop fails to start when anti-virus software is installed

Some anti-virus software may be incompatible with Hyper-V and Microsoft Windows 10 builds. The conflict typically occurs after a Windows update and manifests as an error response from the Docker daemon and a Docker Desktop start failure.

For a temporary workaround, uninstall the anti-virus software, or explore other workarounds suggested on Docker Desktop forums.

Docker desktop stopped error solution – Code Example

In this article we will provide you solution with code examples for Docker desktop stopped error. This error appears due to number of reasons and we will see all of them here. Also make sure that you fulfill all the requirements of Docker desktop.

Solutions

1. Check if the virtualization is enabled on your system

You can find this information in your task manager under CPU resources tab.

Task manager performance tab. Checking virtualization information.

In this image you can see that virtualization is enabled. If it is not enabled for you then you will need to enable it from your bios.

2. Install WSL linux kernel package

You may need to install Microsoft WSL2 Linux kernel update package. It’s available here. Then clean the data – Debug -> Clean / Purge Data -> WSL 2 -> Delete.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *