很早之前就有在docker中运行virtualbox的想法,也看到有人这么做了,今天研究了下,
先下载了个cento-vnc镜像,安装了vrituabox新建了虚拟机启动失败,大概的意思是访问不了设备驱动/dev/vboxdrv
由于docker容器内部和宿主机是共用一个Linux内核的,容器内的应用是没法自己加载驱动的,去docker hub上看了一下目前virtualbox in docker的实现方案
1、宿主机也要安装virtualbox
2、宿主机安装的virtualbox版本要和容器内的virtualbox版本一致
3、宿主机的发型版本最好和容器内部也一致
4、启动容器的时候加入参数 -v /dev/vboxdrv:/dev/vboxdrv
5、启动容器的时候使用特权模式--privileged=true
说白了就是在宿主机上装个vbox,加载好驱动之后把驱动分享给容器中的vbox使用,不过我的宿主机装的是deepin Linux
容器内用的是centos 不太好找到完全一样版本的vbox结果按照上面的方式操作之后启动虚拟机提示驱动版本不匹配