在macOS上的docker容器内运行virtualbox

时间:2017-11-03 11:57:03

标签: macos docker virtualbox

我正在尝试在macOS上的docker容器中运行virtualbox。

到目前为止,我可以安装虚拟机并设置虚拟机,但我无法运行它,因为未加载vboxdrv内核模块。

我可以在Debian发行版中安装所需的标题(sudo apt-get install linux-headers-generic virtualbox-dkms) 但我不知道如何在MacOS上解决这个问题。

这是我的Dockerfile:

FROM debian:stretch

RUN apt-get update && apt-get install -y curl gnupg apt-utils

# Add virtualbox 5.1 repository
RUN echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib " > /etc/apt/sources.list.d/virtualbox.list

RUN curl -O https://www.virtualbox.org/download/oracle_vbox_2016.asc \
    && apt-key add oracle_vbox_2016.asc

# Install virtualbox
RUN apt-get update \
    && apt-get -y install virtualbox-5.1

# Add Windows installation disk image
ADD ./Windows10_64.iso /Windows10_64.iso

# Check ostypes
RUN vboxmanage list ostypes

# Register the VM
RUN vboxmanage createvm --name Windows --ostype 'Windows10_64' --register

# Add a SATA controller with a dynamic disk attached
RUN vboxmanage createhd --filename Windows.vdi --size 32768 \
    && vboxmanage storagectl Windows --name 'SATA Controller' --add sata --controller IntelAHCI \
    && vboxmanage storageattach Windows --storagectl 'SATA Controller' --port 0 --device 0 --type hdd --medium Windows.vdi

# Add an IDE controller with the Windows installation disk attached
RUN vboxmanage storagectl Windows --name 'IDE Controller' --add ide \
    && vboxmanage storageattach Windows --storagectl 'IDE Controller' --port 0 --device 0 --type dvddrive --medium /Windows10_64.iso



# Check VMs
RUN vboxmanage list vms

以下是错误消息:

WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (4.9.49-moby) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.

任何帮助都将受到赞赏!

修改 我想用dotnet framework 4.5编译C#项目(不是dotnet core)。我以前做的是设置Windows VM并使用vboxmanage来控制CMD并完成工作。

现在我想将它运行到一个docker容器中,所以我不必在新环境中进行设置。当我使用Debian时,docker看起来是一个很好的解决方案,并且整个设置都很好用,所以我正在寻找一种方法让它在MacOS上运行,所以我团队中使用MacOS的其他人可以做到相同。

0 个答案:

没有答案