Docker Desktop не запускается в Windows 10/11: WSL 2 Engine не стартует (2025)

Docker зависает на «Starting the Docker Engine», жалуется на WSL 2 или не видит дистрибутивы? Ниже чёткий порядок: включаем нужные компоненты Windows, обновляем ядро WSL, перезапускаем службы, чиним конфликты Hyper‑V и драйверов. Всё по шагам, без лишней теории.

Коротко: что проверить сначала

  • В BIOS/UEFI включена аппаратная виртуализация (Intel VT‑x/AMD‑V, SVM).
  • В Windows включены «Подсистема Windows для Linux» и «Платформа виртуальной машины».
  • Команда PowerShell: wsl -l -v показывает дистрибутивы в версии 2.
  • Службы LxssManager и Docker Desktop Service запущены.
  • Антивирус/«Целостность памяти» не блокирует драйверы Hyper‑V.
Нужна помощь? Подключусь удалённо, расставлю компоненты Windows, обновлю WSL, подниму Docker и объясню, как избежать повторения.

1) Включаем компоненты Windows

Нужны две опции: Подсистема Windows для Linux и Платформа виртуальной машины. На Pro/Enterprise также пригодится Hyper‑V. Проще через «Компоненты Windows», но можно и командами.

PowerShell (Администратор) — выполнять по одной:

DISM /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /NoRestart
DISM /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /NoRestart
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V-All /All /NoRestart
shutdown /r /t 0

После перезагрузки откройте Docker Desktop и включите «Use the WSL 2 based engine» в Settings.

2) Обновляем WSL и ядро

Windows обновляет WSL отдельно от системы. Если ядро устарело, Docker не стартует.

PowerShell (Администратор) — выполнять по одной:

wsl --status
wsl --update
wsl --set-default-version 2
wsl -l -v

Если нужный дистрибутив в версии 1, конвертируйте:

wsl --set-version Ubuntu-22.04 2
wsl -l -v

3) Перезапускаем службы и чиним частые ошибки

Бывает, что висит LxssManager или завис процесс Docker Desktop.

PowerShell (Администратор) — выполнять по одной:

Get-Service LxssManager,DockerDesktopService | Restart-Service -Force
taskkill /IM "Docker Desktop.exe" /F
wsl --shutdown
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"

Если Docker пишет «WSL distro stopped while waiting», переинициализируйте default-дистрибутив (контейнеры/образы не трогаем):

REM CMD (Администратор) — выполняйте по одной строке
wsl --shutdown
del /q /s "%LOCALAPPDATA%\Docker\wsl\*" 
del /q /s "%LOCALAPPDATA%\Docker\net\*"
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"

4) Конфликты Hyper‑V, HVCI и драйверов

  • На некоторых системах «Целостность памяти» (HVCI) блокирует старые драйверы виртуализации. Временно отключите её: Параметры безопасности → Изоляция ядра.
  • Если установлен VirtualBox старых версий, обновите или удалите. Он конфликтует с Hyper‑V.
  • Проверьте, что гипервизор активен:

Командная строка (Администратор) — выполнять по одной:

systeminfo | find "Требуется Hyper-V"
bcdedit /enum {current} | find "hypervisorlaunchtype"
bcdedit /set hypervisorlaunchtype auto
shutdown /r /t 0

5) Сеть WSL и ресурсы диска

Когда Docker не видит сеть, проверьте виртуальные адаптеры и сбросьте настройки Docker‑сети.

PowerShell (Администратор) — выполнять по одной:

wsl --shutdown
Get-NetAdapter | Where-Object {$_.Name -like "vEthernet*"} | Disable-NetAdapter -Confirm:$false
Get-NetAdapter | Where-Object {$_.Name -like "vEthernet*"} | Enable-NetAdapter -Confirm:$false
ipconfig /flushdns

Если место на диске закончилось, Docker Desktop зависает. Проверьте папку образов: %LOCALAPPDATA%\Docker и удалите ненужные образы в интерфейсе Docker → Images/Volumes.

6) Диагностика и логи

PowerShell (Администратор) — выполнять по одной:

wsl --status
wsl -l -v
Get-WinEvent -LogName "Microsoft-Windows-Lxss/Operational" -Max 100 | Select TimeCreated,Id,Message
Get-WinEvent -LogName "Application" -Max 200 | Where-Object {$_.ProviderName -like "*Docker*"} | Select TimeCreated,Id,Message

Эти логи подскажут, кто мешает запуску: ядро WSL, службы, права или сторонние драйверы.

FAQ

Docker Desktop пишет «Hardware assisted virtualization and data execution protection must be enabled».

Включите виртуализацию в BIOS/UEFI (Intel VT‑x/AMD‑V, SVM), сохраните и перезагрузитесь. Затем проверьте hypervisorlaunchtype=auto (см. выше).

Дистрибутивы WSL пропали.

Откройте %LOCALAPPDATA%\Packages, проверьте папки Ubuntu/Debian. Если были очищены «оптимизаторами», переустановите из Microsoft Store и восстановите бэкап, если делали.

Docker запускается, но контейнеры не видят сеть.

Сбросьте vSwitch (см. раздел «Сеть WSL») и отключите сторонние VPN/фильтры. Проверьте, что антивирус не ломает NAT.

Читайте также: