docker runtime_error ai_generated partial

error during connect: This error may indicate that the docker daemon is not running. (http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.41/containers/json)

ID: docker/docker-daemon-not-running-wsl2

Also available as: JSON · Markdown · 中文
82%Fix Rate
85%Confidence
1Evidence
2023-05-12First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Docker Desktop 4.20.0 active — — —
Docker Desktop 4.21.1 active — — —
WSL2 kernel 5.15.90.1 active — — —
Windows 10 22H2 active — — —
Windows 11 23H2 active — — —

Root Cause

Docker Desktop for Windows fails to start the daemon when WSL2 integration is misconfigured or the WSL2 kernel is outdated.

generic

中文

当 WSL2 集成配置错误或 WSL2 内核过时时,适用于 Windows 的 Docker Desktop 无法启动守护进程。

Official Documentation

https://docs.docker.com/desktop/troubleshoot/topics/#wsl-2-integration

Workarounds

  1. 80% success Update the WSL2 Linux kernel by running 'wsl --update' from an elevated PowerShell, then restart Docker Desktop.
    Update the WSL2 Linux kernel by running 'wsl --update' from an elevated PowerShell, then restart Docker Desktop.
  2. 75% success Disable and re-enable WSL2 integration in Docker Desktop: Settings > Resources > WSL Integration > toggle off all distros, apply, then toggle on the desired distro and restart.
    Disable and re-enable WSL2 integration in Docker Desktop: Settings > Resources > WSL Integration > toggle off all distros, apply, then toggle on the desired distro and restart.
  3. 70% success Manually set the WSL2 kernel path in %USERPROFILE%\.wslconfig with a 'kernel=C:\\path\\to\\kernel' entry, then run 'wsl --shutdown' and restart Docker Desktop.
    Manually set the WSL2 kernel path in %USERPROFILE%\.wslconfig with a 'kernel=C:\\path\\to\\kernel' entry, then run 'wsl --shutdown' and restart Docker Desktop.

中文步骤

  1. 通过以管理员身份运行的 PowerShell 执行 'wsl --update' 更新 WSL2 Linux 内核,然后重启 Docker Desktop。
  2. 在 Docker Desktop 中禁用并重新启用 WSL2 集成:设置 > 资源 > WSL 集成 > 关闭所有发行版,应用,然后重新打开所需发行版并重启。
  3. 在 %USERPROFILE%\.wslconfig 中手动设置 WSL2 内核路径,例如 'kernel=C:\\path\\to\\kernel',然后执行 'wsl --shutdown' 并重启 Docker Desktop。

Dead Ends

Common approaches that don't work:

  1. Restarting Docker Desktop from the system tray 65% fail

    If the underlying WSL2 integration is broken or kernel is outdated, restarting Docker Desktop alone does not fix the issue; the daemon will fail again immediately.

  2. Reinstalling Docker Desktop entirely 80% fail

    The error is often caused by a stale WSL2 kernel or misconfigured .wslconfig, not by Docker Desktop installation files. Reinstalling is time-consuming and rarely resolves the root cause.

  3. Running 'wsl --shutdown' and then restarting Docker 55% fail

    While this can temporarily clear state, it does not update the WSL2 kernel or fix integration settings; the error returns after the next system reboot.