Не удается запустить докер после установки в 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.

Решение:

  1. Установите https://www.docker.com/community-edition (не Docker Toolbox)
  2. Включить Hyper-V

Откройте Панель управления -> Система и безопасность -> Программы (левая панель) -> Включить или отключить функции Windows -> Установите флажок Hyper-V

Начиная с Win 10 2017 года, если у вас нет опции Hyper-V, значит, ваша ОС Windows не Enterprise Edition. Кроме того, Docker, кажется, работает намного лучше на процессорах Intel (не AMD).

  1. Добавьте C:\Program Files\Docker\Docker\resources\bin в путь в переменных среды.
  2. Откройте 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, перед запуском виртуальной машины:

  1. Откройте командную строку от имени администратора.

  2. Бегать bcdedit для проверки статуса гипервизора:

  3. Проверить тип запуска гипервизора.

  4. Если установлено значение auto, отключите его:

    bcdedit /set hypervisorlaunchtype off 
    
  5. Перезагрузите хост-машину и снова запустите VirtualBox.

После выполнения вышеуказанных шагов я снова открыл терминал Docker Quickstart, и он работает нормально.

Решение, предложенное @Gene, является правильным и отлично работает, если:

  1. Один имеет Windows Pro Edition
  2. Оба средства управления Hyper-V и платформа Hyper-V включены

Иногда это не всегда так; вот что делать:

Проверьте Windows Edition:

Чтобы проверить, какая версия щелкните правой кнопкой мыши на ключе Windows и выберите System. Прокрутите вниз до спецификаций Windows и посмотрите на [Edition]

Проверьте платформу Hyper-V (виртуализация)

Чтобы платформа Hyper-V была включена, необходимо включить виртуализацию; обычно это делается через BIOS.

На ноутбуке HP это делается из BIOS.

  • При запуске нажмите Ctrl+F10
  • Нажмите клавишу со стрелкой вправо, чтобы перейти на вкладку "Конфигурация системы".
  • Выберите технологию виртуализации и нажмите клавишу ввода.
  • Выберите Enabled и нажмите клавишу Enter.

Как только эти шаги будут выполнены, тогда:

  1. Поиск Включение или отключение функций Windows.
  2. Прокрутите вниз до Hyper-V
  3. Отметьте это поле (убедитесь, что вы видите галочку НЕ черный ящик, который указывает, что некоторые функции не включены)

После перезапуска докер должен работать... удачи!!

Я нажал кнопку Windows на клавиатуре. Напечатано 'Диспетчер Hyper-V'. Он открыл "Диспетчер Hyper-V". Затем я щелкнул правой кнопкой мыши по имени моей машины. Была возможность "остановиться". Я выбрал эту опцию. Он остановил Hyper-V на моей машине, а затем Kitematic работал нормально, то есть он загрузил hello-world-nginx и отобразил веб-страницу.

ПРИМЕЧАНИЕ: это странно, и я не уверен, почему. После того, как я выполнил вышеуказанные шаги, теперь, когда я перезапустил Hyper-V с помощью диспетчера Hyper-V, Kitematic все еще работает и загружает изображения. Кто-нибудь может прокомментировать, почему он все еще работает, когда Hyper-V также работает? Спасибо.

Добрый Али Ахсан

Другие вопросы по тегам