我正在尝试创建一个包含 VirtualBox VM 的 Dockerfile:它基于ubuntu20.04
并且我首先安装并设置软件包:
FROM ubuntu:20.04
...
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get -y update
RUN apt-get -y install apt-utils dialog
RUN apt-get -y upgrade
RUN apt-get -y install -y virtualbox-dkms linux-headers-generic
RUN dpkg-reconfigure virtualbox
一切都很顺利。但当我尝试运行
RUN VBoxManage createvm --name windows --register --basefolder /vbox/vms
我收到此错误:
WARNING: The character device /dev/vboxdrv does not exist.
Please install the virtualbox-dkms package and the appropriate
headers, most likely linux-headers-generic.
You will not be able to start VMs until this problem is fixed.
所有后续调用均VBoxManage
显示相同的警告,并且未设置任何 VM。
我已经添加了所有能找到的额外debconf
、apt
和dpkg
调用,但似乎要设置虚拟机,需要存在从/dev/vboxdrv
到主机的链接,但选项和不允许使用。这看起来像是一个第 22 条军规?/dev/vboxdrv
--device
-v
docker build
是否可以调用VBoxManage
Dockerfile?
答案1
答案似乎非常简单:如果字符设备不存在,暂时只需将其创建为存根。
的开发者vboxmanage-dockerGitHub 上的存储库已经知道这一点,因此这是重新发布。