Virtualbox em um contêiner Docker do Ubuntu está faltando cabeçalhos Kernel

3

Estou tentando executar o virtualbox no Docker para o uso do vagrant. Eu tento conseguir isso com o Ubuntu. Este é o meu Dockerfile:

FROM ubuntu

RUN apt-get update
RUN apt-get install -y software-properties-common python-software-properties
RUN add-apt-repository 'deb http://download.virtualbox.org/virtualbox/debian trusty contrib'
RUN add-apt-repository 'deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse'
RUN apt-get update
RUN apt-get install -y wget linux-headers-generic
RUN wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

RUN apt-get update
RUN apt-get install -y gcc virtualbox dkms virtualbox-dkms
RUN wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.1_x86_64.deb
RUN dpkg -i vagrant_1.7.1_x86_64.deb

Se eu executar virtualbox , obtenho:

WARNING: The character device /dev/vboxdrv does not exist.
         Please install the virtualbox-dkms package and the appropriate
         headers, most likely linux-headers-.

         You will not be able to start VMs until this problem is fixed.
Failed to open the X11 display!

Como você pode ver, eu já estou tentando instalar meus cabeçalhos com apt-get install linux-headers-generic . Mas tentando instalar com o uname:     apt-get instala os cabeçalhos linux- uname -r não funciona:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-headers-3.16.7-tinycore64
E: Couldn't find any package by regex 'linux-headers-3.16.7-tinycore64'

Não consigo encontrar o linux-headers-3.16.7-tinycore64 em qualquer lugar. Googled it etc, não encontrá-lo, mesmo no site linux tinycore.

Obrigado pela sua ajuda!

    
por vardump 20.12.2014 / 12:15

1 resposta

3

Você precisa ter o módulo do kernel em seu sistema host, não na imagem do docker.

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

Em seguida, teste se o módulo do kernel está carregado:

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

Em seguida, você poderá executar o contêiner docker ao montar / dev / vboxdrv:

docker run -it -v /dev/vboxdrv:/dev/vboxdrv image-name

Veja o VirtualBox Inside Docker no Docker Hub para ver um exemplo.

    
por 15.10.2015 / 19:55