有可能在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。 在完成--privileged=true -v /dev/:/dev/ build之后, 你必须运行这些标志的--privileged=true -v /dev/:/dev/ 你需要flag --privileged=true来运行--privileged=true版本为1.10.3的镜像

有关详细信息,请参阅我的Dockerfilerun.sh

有关详细信息,请查看我的存储库,特别是Makefilevirtualbox.Dockerfilevboxwebsrv.Dockerfilephpvirtualbox.Dockerfile