Не удается запустить докер после установки в Windows
Я новичок в Докере. После установки Docker Toolbox (ОС: Windows 10) я запускаю Docker Quickstart Terminal и в консоли вижу это:
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...
Что я сделал не так? Все проверки системы и этапы установки взяты отсюда.
Большое спасибо за Вашу помощь!
6 ответов
Я получил ту же ошибку, когда установил Docker Toolbox на мой компьютер с Windows 10.
Решение:
- Установите https://www.docker.com/community-edition (не Docker Toolbox)
- Включить Hyper-V
Откройте Панель управления -> Система и безопасность -> Программы (левая панель) -> Включить или отключить функции Windows -> Установите флажок Hyper-V
Начиная с Win 10 2017 года, если у вас нет опции Hyper-V, значит, ваша ОС Windows не Enterprise Edition. Кроме того, Docker, кажется, работает намного лучше на процессорах Intel (не AMD).
- Добавьте C:\Program Files\Docker\Docker\resources\bin в путь в переменных среды.
- Откройте Git Bash и введите
docker-compose up
и теперь эта команда должна работать.
Если у вас нет GitBash, пожалуйста, скачайте его.
Hyper-V и VirtualBox противоречат друг другу.
Вы можете удалить Hyper-V или запустить
docker-machine create -d virtualbox --virtualbox-no-vtx-check test
Докер поддерживает Hyper-V в качестве драйвера
Вам необходимо выполнить следующие шаги:
Создайте виртуальный коммутатор, обратитесь к этой статье, чтобы узнать, как это сделать.
Создайте докер, используя этот сетевой коммутатор и драйвер hyper-V.
docker-machine create -d hyperv --hyperv-virtual-switch "name of the virtual switch created above" default
У меня была та же проблема, и этот пост в блоге решил ее. Автор проведет вас через этапы добавления --virtualbox-no-vtx-check
флаг сценария оболочки докера.
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(значок на рабочем столе)-> настройки -> выставить демон на TCP ...
Вам необходимо отключить гипервизор, чтобы проверить новое приложение, использующее VT-x, перед запуском виртуальной машины:
Откройте командную строку от имени администратора.
Бегать
bcdedit
для проверки статуса гипервизора:Проверить тип запуска гипервизора.
Если установлено значение auto, отключите его:
bcdedit /set hypervisorlaunchtype off
Перезагрузите хост-машину и снова запустите VirtualBox.
После выполнения вышеуказанных шагов я снова открыл терминал Docker Quickstart, и он работает нормально.
Решение, предложенное @Gene, является правильным и отлично работает, если:
- Один имеет Windows Pro Edition
- Оба средства управления Hyper-V и платформа Hyper-V включены
Иногда это не всегда так; вот что делать:
Проверьте Windows Edition:
Чтобы проверить, какая версия щелкните правой кнопкой мыши на ключе Windows и выберите System. Прокрутите вниз до спецификаций Windows и посмотрите на [Edition]
Проверьте платформу Hyper-V (виртуализация)
Чтобы платформа Hyper-V была включена, необходимо включить виртуализацию; обычно это делается через BIOS.
На ноутбуке HP это делается из BIOS.
- При запуске нажмите Ctrl+F10
- Нажмите клавишу со стрелкой вправо, чтобы перейти на вкладку "Конфигурация системы".
- Выберите технологию виртуализации и нажмите клавишу ввода.
- Выберите Enabled и нажмите клавишу Enter.
Как только эти шаги будут выполнены, тогда:
- Поиск Включение или отключение функций Windows.
- Прокрутите вниз до Hyper-V
- Отметьте это поле (убедитесь, что вы видите галочку НЕ черный ящик, который указывает, что некоторые функции не включены)
После перезапуска докер должен работать... удачи!!
Я нажал кнопку Windows на клавиатуре. Напечатано 'Диспетчер Hyper-V'. Он открыл "Диспетчер Hyper-V". Затем я щелкнул правой кнопкой мыши по имени моей машины. Была возможность "остановиться". Я выбрал эту опцию. Он остановил Hyper-V на моей машине, а затем Kitematic работал нормально, то есть он загрузил hello-world-nginx и отобразил веб-страницу.
ПРИМЕЧАНИЕ: это странно, и я не уверен, почему. После того, как я выполнил вышеуказанные шаги, теперь, когда я перезапустил Hyper-V с помощью диспетчера Hyper-V, Kitematic все еще работает и загружает изображения. Кто-нибудь может прокомментировать, почему он все еще работает, когда Hyper-V также работает? Спасибо.
Добрый Али Ахсан