J'ai essayé d'exécuter le conteneur en mode privilégié, mais le vboxdrv ne peut toujours pas être chargé.
Je reçois
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.
Oui, vous pouvez. Vous devrez vous assurer que le module du noyau est installé sur votre système hôte. J'utilise Ubuntu, mais je suis sûr que ce serait similaire sur d'autres distributions:
Sudo apt-get install linux-headers-generic virtualbox-dkms
Et assurez-vous que le module du noyau est chargé:
Sudo /etc/init.d/virtualbox status
VirtualBox kernel modules are loaded.
Maintenant, exécutez le conteneur Docker et montez/dev/vboxdrv en tant que volume:
docker run -it -v /dev/vboxdrv:/dev/vboxdrv your/container-image
Modifié à 2016-03-27 12:54 UTC
J'ai exactement le même problème et je peux docker avec succès la dernière version de VirtualBox avec le pack d'extension et phpvirtualbox sur CentOS 7.
Vous devez installer des tonnes de dépendances telles que kernel-devel, make, gcc et dkms. Après avoir terminé la construction du docker, vous DEVEZ exécuter l'image docker avec ces drapeaux vous avez besoin du drapeau --privileged=true -v /dev/:/dev/
.--privileged=true
pour exécuter l'image avec la version docker de 1.10.3
Pour plus de détails, consultez mes Dockerfile
et run.sh
Pour les détails, veuillez consulter mon référentiel surtout Makefile
, virtualbox.Dockerfile
, vboxwebsrv.Dockerfile
et phpvirtualbox.Dockerfile
2019:
La clé est d'utiliser une image docker sur laquelle systemd est en cours d'exécution. J'ai choisi jrei/systemd-ubuntu
voir ici .
docker run -d --privileged \
--name systemd-ubuntu --network=Host \
--device /dev/vboxdrv:/dev/vboxdrv \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-v /tmp:/tmp -it jrei/systemd-ubuntu
À l'intérieur du conteneur, j'ai couru:
apt update
apt -y install wget
apt -y install gnupg2
apt -y install systemd
apt -y install software-properties-common
wget -q https://www.virtualbox.org/download/Oracle_vbox_2016.asc -O- | apt-key add -
wget -q https://www.virtualbox.org/download/Oracle_vbox.asc -O- | apt-key add -
add-apt-repository "deb https://download.virtualbox.org/virtualbox/debian bionic contrib"
apt update
apt -y install virtualbox-6.0
Prendre plaisir :-)