Як використовувати Vagrant та Docker-for-Windows в системі Hyper-V?


12

Ще в той день я використовував VirtualBox (VB) і Vagrant (V) для запуску віртуальних машин. Оскільки я встановив docker-for-windows (DfW) і запустив V, VB скаржиться на Hyper-V (HV) .

[user@localhost ~]$ vagrant up
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component
ConsoleWrap, interface IConsole

Хоча це посилання вказує на те, що V підтримує HV, вищезгадане повідомлення про помилку суперечливе. Чому VB виглядає несумісним з HV, чому V каже, що він підтримує HV та як запобігти тому, що HV потребує відключення, щоб знову використовувати V.

| Product    | Version |
|:-----------|--------:|
| Vagrant    |   2.0.1 |
| VirtualBox |   5.2.4 |
| Windows    |      10 | 

Обговорення

Пропозиція вмикати та вимикати Hyper-V не є кращим рішенням, оскільки це забирає багато часу.

Якщо можна було б запустити V і DfW в одній і тій же системі, замінивши VB, це може бути варіантом.

Відповіді:


9

Підтверджена цією відповіддю на SO, що посилається на технологію Microsoft, як тільки Hyper-V активується, вона маскує інструкції процесора VT-X процесора до ОС над ним, а вікна працюють як гість.

Докеру для Windows потрібен гіпер-V для роботи, тому відключення його насправді не є варіантом.

Немає можливості, щоб віртуальна скринька працювала поверх Hyper-V, і це цілком нормально, не слід запускати гіпервізор всередині гіпервізора, вони будуть боротися за упорядкування апаратного доступу.

Найкращий спосіб вирішити, на мою думку, - створити віртуальну машину гіпер-V із бродячого з постачальником гіпер-V замість віртуальної машини, таким чином ви зможете створити VM або контейнер на одному сеансі.

Бічна примітка, бродячий вже має примітку про це на сторінці документації провайдера гіпер-v (знайдено під час пошуку посилання, яке потрібно додати вище):

Попередження : Увімкнення Hyper-V призведе до припинення роботи VirtualBox, VMware та будь-якої іншої технології віртуалізації. Дивіться цю публікацію в блозі про простий спосіб створити завантажувальний запис для завантаження Windows без включеного Hyper-V, якщо буде час, коли вам знадобляться інші гіпервізори.


0

Поряд з Vagrant, ви можете використовувати стару шкільну спадщину "Docker Toolbox" замість "Docker для Windows". Це означає, що Докер буде повільним з моменту його запуску в Linux VM, я вірю. https://docs.docker.com/toolbox/toolbox_install_windows/ Крім цього, так, я перезавантажував на своєму комп’ютері все, що мені потрібно для HyperV для Docker, або видаляю його, коли мені хочеться бадьорити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.