OS X的Boot2Docker无法启动

时间:2015-01-07 09:12:38

标签: macos docker virtualbox boot2docker

我是docker的新手,我试图在我的工作计算机上运行boot2docker。我已经使用用户帐户登录到运行OS X版本10.10.1(Yosemite)的计算机,该用户帐户从办公室网络安装了主目录。

我从https://github.com/boot2docker/osx-installer/releases安装了Docker v1.4.1 和来自https://www.virtualbox.org/wiki/Downloads

的OS X主机的VirtualBox 4.3.20

我按照docker.com mac安装上的说明操作,但我没有得到应该是结果。

docker终端出现此错误:

bash-3.2$ /usr/local/bin/boot2docker init 
Virtual machine boot2docker-vm already exists
bash-3.2$ /usr/local/bin/boot2docker up 
error in run: Failed to start machine "boot2docker-vm" (run again with -v for details)
bash-3.2$ $(/usr/local/bin/boot2docker shellinit)
error in run: VM "boot2docker-vm" is not running.
bash-3.2$ docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): darwin/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.16/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 

在VirtualBox上启动boot2docker-vm会返回以下错误:

Failed to open a session for the virtual machine boot2docker-vm.

NamedPipe#0 failed to bind to local socket
/Network/Servers/servername/Volumes/cal/Users/username/.boot2docker/boot2docker-vm.sock (VERR_NOT_SUPPORTED)

8 个答案:

答案 0 :(得分:15)

尝试以下方法: 有些人报告说启动暂停的boot2docker VM有问题,下面的步骤通常已经为我解决了这个问题。

boot2docker delete
boot2docker download
boot2docker init
boot2docker up

如果这不起作用打开虚拟框并查看boot2docker vm的状态。如果它显示已保存,则从UI启动VM,然后从菜单中向其发送关闭信号。然后,您应该可以随后从boot2docker启动和停止VM。

答案 1 :(得分:8)

我遇到了同样的问题,这一系列命令对我有用:

boot2docker up
$(boot2docker shellinit)

之后,我能够运行docker psdocker images等命令而不会出现错误,所以我已经完成了设置。

答案 2 :(得分:1)

我相信这与我之前遇到的问题类似。看来,必须在我们的hosts文件中将localhost分配给127.0.0.1(位置为/ etc / hosts)。 / etc / hosts中应该包含以下行。希望能帮助到你!! boot2docker shellinit command ended up in error "Error requesting socket: exit status 255"

127.0.0.1 localhost

P.S:编辑帖子因为链接可能已经消失

答案 3 :(得分:1)

几个答案的组合帮助我解决了这个问题:

正如Usman Ismail所说,运行以下内容:

boot2docker delete
boot2docker download
boot2docker init
boot2docker up

然后运行:

$(boot2docker shellinit)

那很有效。

答案 4 :(得分:0)

最后,这个解决方案对我有用。我必须将VirtualBox VMs文件夹从我的网络主目录移动到我的本地计算机并更改其权限。

因此,在我的VirtualBox GUI上,在Settings> Storage下,我从

更改了文件位置
/Network/Servers/servername/Volumes/cal/Users/username/VirtualBox VMs/boot2docker.iso
/Network/Servers/servername/Volumes/cal/Users/username/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk

/Applications/VirtualBox VMs/boot2docker.iso
/Applications/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk

并在设置>端口

/Network/Servers/servername/Volumes/cal/Users/username/VirtualBox VMs/boot2docker-vm.sock

/Applications/VirtualBox VMs/boot2docker-vm.sock

所以我认为这是一个目录和权限问题。

答案 5 :(得分:0)

这是我的经历......

在家里,我有一台Macbook Air,在工作中我有Macbook Pro。

我两个都有同样的问题。如果我从命令行运行,我会得到一些关于" VBOX_E_OBJECT_IN_USE"。如果我从Virtual Box UI运行,我会得到一些关于" VMMR0.r0"。

我几乎尝试了一切......重新安装VBX,B2D等无济于事。

最后,在MBA上,我尝试了Usman的建议并修复了它。

但那对我的MBP没有用。

对于MBP,我不得不使用磁盘工具修复我的磁盘权限。

(感谢mpwin对此主题中的建议:https://github.com/boot2docker/windows-installer/issues/63

现在,两台机器都能正常工作。希望这有助于其他人。

答案 6 :(得分:0)

I get the same error if I restart my MBP and allow iTerm2 to start automatically with previous tabs open. I've found that restarting iTerm2 solves it for me.

答案 7 :(得分:0)

将你的配置添加到你的bash:

export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/<username>/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1

然后打开一个新的终端窗口或源文件。