Совместное размещение докеров и виртуальных боксов в Windows

Docker использует функции Hyper V, поэтому он должен быть включен, чтобы Docker работал правильно. Однако функциональность Hyper V должна быть отключена для правильной работы VirtualBox (возможно создание гостей и эмуляция их, но только если они 32-битные машины).

Есть ли способ иметь здоровое совместное проживание с ними и работать одновременно? Вместо включения/отключения опции Hyper V и перезагрузки каждый раз?

Ответ 1

Я понимаю вашу причину боли, но AFAIK этого просто невозможно достичь из-за простого факта, что технологии виртуализации, о которых вы говорили здесь, имеют разные типы.

Hyper-V - гипервизор "Тип 1", который работает на аппаратном оборудовании хоста. Другие примеры в этой категории включают Citrix XenServer и VmWare ESXi. Виртуальный ящик - это гипервизор, который находится в режиме "Тип 2", который работает в ОС. Другие примеры в этой категории включают VmWare Player.

Если вам нужно переключить b/w, перезапуск будет выдающимся.

Быстрый способ просмотра режима - запустить "bcdedit" из командной строки, чтобы увидеть текущую конфигурацию.

  1. Чтобы отключить запуск Hyper-V:

bcdedit/set hypervisorlaunchtype off

  1. Чтобы снова включить Hyper-V:

bcdedit/set hypervisorlaunchtype auto

Однако вам придется перезагружаться в обоих случаях. Я просто упомянул простой способ конфигурации, чтобы вы поняли, что происходит в загрузчике при переключении между режимами гипервизора Type 1 и Type 2.

Ответ 2

Нет, нет.

Просто сделайте так, как я, и создайте эти виртуальные машины в Hyper-V. Hyper-V очень быстрый, и единственная проблема заключается в графике. Ну, а также и общие папки.

Я установил Xserver для Windows (xming) и отправил дисплей с виртуальной машины на рабочий стол и отлично работает.

  1. Загрузите и установите xserver в окнах отсюда: https://sourceforge.net/projects/vcxsrv/
  2. Установите дистрибутив на новую виртуальную машину Hyper-V. Обратитесь в Интернет для получения инструкций.
  3. Запустите свою виртуальную машину и откройте командную строку вне GUI: Ctrl + Alt + F2. Введите следующие команды:

sudo apt install xfce4 echo xfce4-session >~/.xsession env DISPLAY=yourwindowsip:0.0 LIBGL_ALWAYS_INDIRECT=1 startxfce4

Он должен запустить рабочий стол xfce в окнах. Вы можете уменьшить панели, а также скрыть окно рабочего стола. Он работает очень хорошо и хорошо интегрирован с рабочим столом Windows

ОБНОВЛЕНИЕ Убедитесь, что ваша виртуальная машина и ваш хост не получат один и тот же IP-адрес. Если это произойдет, введите статический IP-адрес в вашей виртуальной машине.

Ответ 3

У вас не может быть Hyper-V и VirtualBox вместе. Но вы можете использовать старшую панель инструментов докеров, если хотите. В отличие от Docker for Window, Docker Toolbox использует VirtualBox, и вам не понадобится Hyper-V.