有可能在Docker容器中运行virtualbox
我试着在特权模式下运行容器,但仍然无法加载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.
是的你可以。 你需要确保你的主机系统上有内核模块。 我正在运行Ubuntu,但我相信它会在其他发行版上类似:
sudo apt-get install linux-headers-generic virtualbox-dkms
并确保内核模块已加载:
sudo /etc/init.d/virtualbox status VirtualBox kernel modules are loaded.
现在,运行docker容器,并将/ dev / vboxdrv挂载为卷:
docker run -it -v /dev/vboxdrv:/dev/vboxdrv your/container-image
编辑于2016-03-27 12:54 UTC
我有完全相同的问题,我可以用CentOS 7上的扩展包和phpvirtualbox成功地dockerize最新版本的VirtualBox。
你必须安装大量的依赖,比如kernel-devel,make,gcc和dkms。 在完成 build之后, --privileged=true -v /dev/:/dev/
你必须运行这些标志的 你需要flag --privileged=true -v /dev/:/dev/
。--privileged=true
来运行--privileged=true
版本为1.10.3的镜像
有关详细信息,请参阅我的 Dockerfile
和run.sh
有关详细信息,请查看我的存储库,特别是Makefile
, virtualbox.Dockerfile
, vboxwebsrv.Dockerfile
和phpvirtualbox.Dockerfile