У меня есть проект GitHub, который использует Docker для создания виртуализаций.

У всех моих товарищей по команде есть компьютеры Mac, но у меня есть компьютер с Windows, что заставляет меня использовать виртуальную машину.

Когда я пытаюсь запустить Docker на виртуальной машине, он говорит, что мой процессор несовместим, хотя у меня включена виртуализация и для параметра паравиртуализации установлено значение "Минимально" для Mac OS. Есть ли способ исправить что-то подобное?

Скриншот

1 ответ1

-1

«»»

Из-за уровней безопасности и kext в ОС - невозможно было бы создать какую-либо виртуализацию с драйвером virtualbox (не HyperKit), поэтому развертывания minikube и / или kubernetes, скорее всего, завершатся неудачно (если вы продолжаете обновлять Unix: )), однако безопасность это безопасность! (для всех ненавистников: RHEL / Centos сделали еще хуже при переходе с 6 на 7).

Почему даже (Эван? (большая улыбка)) Bother (хромая шутка хе.)

VirtualBox драйвер быстрее. Гораздо больше, и настоятельно рекомендуется использовать его вместо гиперкита. (Concurncy, сэр!)

Но подождите - почему я не могу просто установить? Ох, потому что ядро не обязательно учитывает все виды системных вызовов от того, кто - знает - где (улыбается)

Тем не менее, это не обязательно будет работать "из коробки", когда вы помещаете строку "virtualbox" в файл окружений, поэтому первым дополнительным шагом будет убедиться, что все мини-кубы остановлены и так далее. Если вы запустили Docker-машину с неработающей виртуальной коробкой - удалите ее.

также добавьте : rm -rf ~/.minikube

  1. Пришло время проверить некоторые допинговые вещи, ура! После ввода команды «kextstat | grep -i box» вы можете заметить некоторые загруженные плагины

    • если вы это сделаете, то нам нужно сначала выгрузить эти расширения! Если нет, перейдите к шагу 2 (в любом случае перейдите к шагу 2! ха!)

Пример:

MacBook-Pro: / Библиотека / Поддержка приложений / VirtualBox: $ kextstat | grep -i box

  1. Перейдите к этому «/Library/Application Support/VirtualBox» и укажите папку.

Вы должны увидеть что-то вроде: LaunchDaemons VBoxDrv.kext VBoxNetAdp.kext VBoxNetFlt.kext VBoxUSB.kext

Тип (находясь в этой папке):

for i in ` ls | grep -i vbox ` ; do sudo kextunload $i -r "$(pwd)" ; done

  1. Нам нужно разрешить из любого места на мгновение процесс переустановки для самого virtualbox.

сказав, так иди с:

sudo spctl --master-disable и он должен отключить сторожевое устройство Guard и сделать опцию Разрешить из любого места, которое можно выбрать {} :)-> Параметры безопасности и конфиденциальности брандмауэра (os x)

Разблокируйте, укажите свой root-пароль и выберите Разрешить из любого места (это будет необходимо при установке Virtualbox)

  1. Затем удалите и установите действительную виртуальную коробку - как можно более новой (> = 5. ). Если установка говорит вам, что это не удалось - не беспокойтесь. Мы взломаем тебя. Сначала перейдите к этому пункту 3 и включите Oracle corp:D (мне пришлось снова щелкнуть там, несмотря на то, что он был разрешен откуда угодно (кстати, помните плагины и kext?)

  2. Убедитесь, что вы находитесь в папке, в которой вы должны быть (как в предыдущем примере), и загрузите их, сопоставив содержимое соответствующей папки.

for i in ` ls | grep -i vbox ` ; do sudo kextload $i -r "$(pwd)" ; done

  1. Теперь вам нужно перейти к настройкам конфиденциальности и брандмауэру. Снова вы увидите, что Oracle America просит вашего внимания! Нажмите Разрешить или как там эта кнопка.

После того, как это сделано, вы можете идти.

  1. Чтобы проверить это:

docker-machine create -d virtualbox virtualbox docker-machine start virtualbox docker-machine ssh virtualbox. Вы должны увидеть:допинг!

Это точно такой же результат, как он был запущен самой virtualbox с образом boot2docker!

Как это круто?

  1. о, забыл самую важную часть:

minikube start --vm-driver=virtualbox

Наслаждаться :)'''

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .