VBoxManage(LockMachine):由厨师创build的Docker机器

我想为厨师创buildDocker的默认机器。

我正在使用命令:

docker-machine create --driver=virtualbox --virtualbox-host-dns-resolver=true default 

我的问题是,当我在厨师(与execute资源,但我也尝试了batchpowershell_script )内运行它(它运行完全正常(机器被添加到Docker内部),但它不工作在VBox(机器不甚创build)。

 docker-machine ls -t 20 NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Stopped Unknown docker-machine start Starting "default"... (default) Check network to re-create if needed... Error setting up host only network on machine start: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe modifyvm default --nic2 hostonly --nictype2 8240EM --nicpromisc2 deny --hostonlyadapter2 VirtualBox Host-Only Ethernet Adapter --cableconnected2 on failed: VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended info not available) VBoxManage.exe: error: Context: "LockMachine(a->session, LockType_Write)" at line 507 of file VBoxManageModifyVM.cpp 

现在我不能删除这台机器,因为有三个VBoxHeadless.exeVBoxNetDHCP.exe进程。

奇怪的是,我的工作和机器在cmd里面运行的同一个命令处于启动状态:

 docker-machine ls -t 20 NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 v17.05.0-ce 

有什么不同…? 为什么不在厨师之下工作?

好的,我发现问题是什么。

我以pipe理员身份运行Chef,并拥有其他具有普通用户权限的控制台。

主要问题是,在运行具有pipe理员权限的docker-machine时,出现了一些问题,并不是为用户创build的,而是为了pipe理员(即使在Linux系统上也存在问题 – 我已经检查过了)。

要解决这个问题,应该运行这个没有pipe理员权限的execute资源 – 我真的不知道,如何在厨师这样做,但这是一个全新的问题要问。