我接着开始使用docker教程并进入第4部分,您需要使用virtualbox(https://docs.docker.com/get-started/part4/#create-a-cluster)创建docker机器,但是当我尝试创建它时,它会失败。
首先我使用了带有docker的5.0 virtualbox。每次我尝试创建VM时,这都会导致我的Ubuntu桌面冻结。我必须重新启动PC才能使其正常工作。然后我安装了较新版本的virtualbox:Version 5.2.6 r120293 (Qt5.6.1)
。
现在尝试使用docker创建VM时,PC不会冻结,但仍无法成功创建VM。
运行此命令:
docker-machine create --driver virtualbox myvm1
我得到了这个输出:
Running pre-create checks...
Creating machine...
(myvm1) Copying /home/oerp/.docker/machine/cache/boot2docker.iso to /home/oerp/.docker/machine/machines/myvm1/boot2docker.iso...
(myvm1) Creating VirtualBox VM...
(myvm1) Creating SSH key...
(myvm1) Starting the VM...
(myvm1) Check network to re-create if needed...
Error creating machine: Error in driver during machine creation: Unable to start the VM: /usr/bin/VBoxManage startvm myvm1 --type headless failed:
VBoxManage: error: The virtual machine 'myvm1' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
现在打开virtualbox并尝试通过virtualbox界面运行“已创建”的VM也会失败。它说:
RTR3InitEx failed with rc=-1912 (rc=-1912)
The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing
'/sbin/vboxconfig'
may correct this. Make sure that you do not mix the OSE version and the PUEL version of VirtualBox.
where: supR3HardenedMainInitRuntime what: 4 VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn't match the version of the user.
运行sudo /sbin/vboxvonfig
也无济于事。该错误是否表明我为我的操作系统安装了不正确的虚拟机?或者它意味着什么呢?
我的操作系统是Ubuntu 16.04
,我下载了这个虚拟框:https://download.virtualbox.org/virtualbox/5.2.6/virtualbox-5.2_5.2.6-120293~Ubuntu~xenial_amd64.deb
P.S。如果重要的是我运行的操作系统(在我的电脑中)不在虚拟机内。
答案 0 :(得分:0)
当我安装virtualbox 5.2时,似乎有一些来自virtualbox 5.0的剩余部分。所以这引起了上述问题。
因此,对于任何有类似问题的人,当一个版本意外挂起你的PC而另一个版本与旧版本混淆时,你可以尝试这样做(它帮助了我。看起来它与旧的linux头文件有关了解新的虚拟机?):
sudo apt-get purge virtualbox-*.* dkms linux-headers-$(uname -r) # (where * is specified version)
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install virtualbox-*.*
发现于:https://askubuntu.com/questions/205154/virtualbox-etc-init-d-vboxdrv-setup-issue
然后它应该解决不匹配的版本错误。
<强> P.S。强> 虽然请注意您是否已尝试使用docker-machine创建VM(然后将其删除)。创建新VM时,它可能会给您带来另一个错误。它与证书有关。
对我来说,证书保持不变,即使我删除了不工作的虚拟机。它可能是检查旧证书,因为我使用相同的虚拟机名称?
所以它给了我这个新错误:
Copying certs to the local machine directory...
Error creating machine: Error running provisioning: error generating server cert: tls: failed to find any PEM data in certificate input
要解决此问题,您可以删除/home/user/.docker/machine/certs
目录。之后,当您启动新VM时,它将重新生成新证书,不应再引发此错误。