Docker не запускается в Windows 10
Обновлено: 21.11.2024
Docker Desktop — это обычное приложение для запуска виртуализированных контейнеров Docker. Это гораздо более легкая виртуальная машина, и ее материальность выросла с массовым распространением. Если у вас есть Docker Desktop, будь то версия Community или Enterprise в Windows 10 с включенным WSL2, это руководство поможет вам устранить любые проблемы при запуске последней версии приложения Docker Desktop.
Докер для рабочего стола обновляется примерно с той же частотой, что и инсайдерская версия Windows 10. Это означает, что если вы проверяете наличие новой версии, вам время от времени будут предлагаться обновления. В большинстве случаев применение обновления не требуется, в конце концов, зачем его исправлять, если оно не ломается. Хотя в какой-то мере это может быть правдой, пока однажды Docker Desktop не перестал работать даже без обновления версии. Это случилось со мной некоторое время назад, и я получил следующую ошибку, и я могу сказать вам, что руководство по ошибкам не помогает.
Ошибка виртуализации
Произошла ошибка. Аппаратная виртуализация и защита от выполнения данных должны быть включены в BIOS.
Но если вы зайдете в BIOS или UEFI, найдете раздел виртуализации и подтвердите, что установлен флажок «Включить технологию виртуализации Intel». А также проверил, что «Платформа виртуальной машины» включена в функциях Windows, но Docker просто не запускается и продолжает выдавать ошибку.
Иногда вы можете получить такие ошибки, как:
Произошла ошибка. System InvalidOperationException: не удалось развернуть дистрибутив docker-desktop
Или похожая ошибка ниже, то, скорее всего, ошибка не из-за того, что у вас не включена виртуализация. Скорее, это потому, что ваш WSL2 устарел и требует обновления до последней версии ядра Linux.
Вы можете загрузить последнюю версию ядра WSL2 Linux здесь. С новой версией Windows 10 и WSL2, поставляемой вместе с новым выпуском. Microsoft теперь поставляется с настоящим ядром Linux, и его необходимо обновить, если вы хотите, чтобы Docker работал правильно.
Не удалось запустить Docker после обновления до Windows 10
Если описанное выше не работает, и Docker не запускается после обновления до Windows 10. Вы можете попробовать следующее.
- Сбросьте Docker Desktop до заводских настроек по умолчанию, подождите около 15 минут, если ничего не произошло и статус остался
Docker Desktop сбрасывается до настроек по умолчанию. - Затем выполните следующую команду в PowerShell с правами администратора wsl.exe --unregister docker-desktop и wsl.exe --unregister docker-desktop-data
- Удалить Docker Desktop
- Перезагрузить
- Установите Docker Desktop Edge (это особенно важно, если вы используете Windows 10 Insider Edition с последней бета-версией Windows)
Надеемся, что описанные выше шаги помогут устранить проблемы с Docker в Windows. Если у вас есть другие решения или вы столкнулись с другими ошибками, сообщите нам об этом, чтобы мы могли помочь другим.
Docker не запускается при запуске Windows. Это можно увидеть, когда значок Docker на панели задач перестает анимироваться без «контейнеров», показанных на значке. При попытке открыть пользовательский интерфейс для Docker Desktop он даже не открывается или загружается бесконечно. Перезапуск Docker Desktop.exe и службы com.docker.service устраняет эту проблему до следующей перезагрузки Windows.
Ожидаемое поведение
Docker Desktop запускается и остается в рабочем состоянии
Информация
- Версия для Windows: Windows 10 Pro 20H2 — сборка 19042.928
- Настольная версия Docker: 3.3.1 (63152)
- Бэкэнд WSL2 или Hyper-V? Движок на основе WSL 2
- Вы работаете внутри виртуализированной Windows, например на облачном сервере или виртуальной машине: нет
- Kubernetes не установлен
- Экспериментальные функции не отображаются в пользовательском интерфейсе, но кажется, что они включены в JSON в разделе «Docker Engine» — изменение и перезагрузка после этого не имеют никакого эффекта.
- Дополнение (21 апреля 2021 г.): кажется, что моей среде WSL 2 требуется больше времени при запуске Windows, чтобы быть готовой.Это может быть причиной этой проблемы или последующей проблемы.
Я использую Docker исключительно в своей среде WSL 2, в которой установлена Ubuntu 20.04.
Проверка файлов журналов ошибок в %localappdata%\Docker\log.txt, кажется, не намекает ни на что, с чем я мог бы работать:
[02:10:38.196][GoBackendProcess ][Info ] msg="принято подключение для передачи данных в unix:\\.\pipe\dockerVpnkitData"
[02:10:38.203][GoBackendProcess] [Ошибка] msg="ошибка при приеме мультиплексора для передачи данных: канал закрывается."
[02:10:38.203][GoBackendProcess ][Info ] msg="прослушивание unix:\\.\pipe\dockerVpnkitData для подключения к данным"
[02:10:38.203][GoBackendProcess ][ Info ] msg="DNS: сервер UDP подключен"
[02:10:38.203][GoBackendProcess ][Warning] msg="пропущенная ошибка: EOF"
[02:10:58.682][VpnKitBridge ][Error ] msg="windows: ssh-auth: невозможно вычислить локальный путь службы. Виртуальная машина vpnkit-bridge не синхронизирована с хостом? "
[02:10:58.682][VpnKitBridge ][Error ] msg="windows: osxfs-data: невозможно вычислить локальный путь службы. Не синхронизирована ли виртуальная машина vpnkit-bridge с хостом?"< /p>
Docker Desktop не запускается после установки или обновления с ошибкой Docker Engine не удалось запустить.
Версия Docker Desktop: 3.5.1 (66501)
Версия для Windows: Windows 10 20H2
Открытие Docker Desktop начнется с этого состояния
Через какое-то время он попадет в это состояние
Сведения об ошибке
Возможные экраны ошибок и сообщения. Обычно это появляется как всплывающее окно, когда Docker терпит неудачу.
Анализ
Пытался выполнить шаги по устранению проблемы
- Перезапустите Docker Desktop, что помогает в большинстве случаев
- Перезагрузка Windows, добро пожаловать в мир Microsoft
- Далее удалите, перезагрузите и переустановите Docker Desktop (это очистит весь кеш изображений)
Ни один из шагов не помог решить проблему. Я начал исследовать журналы и две службы Windows, отвечающие за правильную работу докера. Это можно проверить, запустив services.msc из командной строки Windows.
Я заметил, что службы Docker Engine отсутствуют, и получил сведения о службах с работающей машины. Я указал для справки.
- "C:\Program Files\Docker\Docker\com.docker.service"
- "C:\P/r/gram Files\Docker\Docker\resources\dockerd.exe" --run-service --service-name docker -G docker-users --config-file C:\ProgramData\ DockerDesktop\tmp-d4w\daemon.json
Открыл окно powershell и попытался запустить вторую службу, упомянутую выше, и выдало ошибку, доступ к файлу panic.log запрещен.
Я открыл файл журнала и обнаружил аналогичную ошибку отказа в доступе.
Решение
Способ 1
Откройте следующий путь в строке запуска %ProgramData%/Docker, и я переименовал имя файла panic.log в panic_old.log и попытался открыть рабочий стол Docker, чтобы решить проблему.
Метод 2
Используйте первый способ и попробуйте выполнить команду в powershell, а затем откройте рабочий стол Docker.
"C:\Program Files\Docker\Docker\resources\dockerd.exe" --run-service --service-name docker -G docker-users --config-file C:\ProgramData\DockerDesktop\tmp -d4w\daemon.json
Способ 3
Пришло время поделиться странным опытом работы с Windows 10 и Docker. Иногда, обычно после некоторого обновления Windows 10 или даже после установки программного обеспечения, докер перестает отвечать на запросы.
Типичная ошибка может выглядеть следующим образом.
Из кода Visual Studio мы получаем:
И это очень странно. Когда я проверяю настольное приложение Docker, оно зависает в состоянии ЗАПУСКА.
Я могу перезапустить настольное приложение Docker, и проблема не исчезнет. Как я уже сказал, странно.
Я человек на руку, поэтому решил перезапустить службу докеров. Всего 2 команды:
Однако это не решает проблему. А иногда даже перезагрузка Windows не решает проблему.
Через некоторое время я нашел основную причину:
Каким-то образом WSL был настроен на версию 1 вместо версии 2.
Не знаю почему, но решение очень простое. Просто запустите команду, чтобы установить WSL на версию 2, а затем перезапустите службу Docker.
Если вы зритель, это может выглядеть так:
Важно: эти команды необходимо запускать с правами администратора. Таким образом, в мире терминала Windows это может выглядеть так. Щелкните правой кнопкой мыши приложение Windows Terminal и выберите «Запуск от имени администратора».
¿Con ganas de ponerte al día?
En Lemoncode te ofrecemos formación online impartida por profesionales que se baten el cobre en consultoría:
Читайте также: