Подтвердить что ты не робот

Возможно ли запустить виртуальный бокс внутри контейнера докеров

Я попробовал запустить контейнер в привилегированном режиме, но все же vboxdrv не может быть загружен.

Я получаю

WARNING: The vboxdrv kernel module is not loaded. Either there is no module
     available for the current kernel (3.11.0-22-generic) or it failed to
     load. Please recompile the kernel module and install it by

       sudo /etc/init.d/vboxdrv setup

     You will not be able to start VMs until this problem is fixed.
4b9b3361

Ответ 1

Да, вы можете. Вам нужно убедиться, что у вас есть модуль ядра на вашей хост-системе. Я запускаю Ubuntu, но я уверен, что он будет похож на другие дистрибутивы:

sudo apt-get install linux-headers-generic virtualbox-dkms

И убедитесь, что загружен модуль ядра:

sudo /etc/init.d/virtualbox status
VirtualBox kernel modules are loaded.

Теперь запустите контейнер докеров и установите mount/dev/vboxdrv в качестве тома:

docker run -it -v /dev/vboxdrv:/dev/vboxdrv your/container-image

Ответ 2

Отредактировано в 2016-03-27 12:54 UTC

У меня есть одна и та же проблема, и я могу успешно докровать последнюю версию VirtualBox с помощью пакета расширения и phpvirtualbox на CentOS 7.

Вам нужно установить множество зависимостей, таких как kernel-devel, make, gcc и dkms. После завершения сборки docker, , вы ДОЛЖНЫ запускать изображение докеров с помощью этих флагов --privileged=true -v /dev/:/dev/. вам нужен флаг --privileged=true для запуска изображения с версией докерера 1.10.3

Подробнее см. в разделе Dockerfile и run.shзабастовкa >

Для получения подробной информации, пожалуйста, посмотрите мой репозиторий, особенно Makefile, virtualbox.Dockerfile, vboxwebsrv.Dockerfile и phpvirtualbox.Dockerfile