OS X 的 Boot2Docker 无法启动

Boot2Docker for OS X fails to start

我是 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 returns 出现以下错误:

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)

尝试以下操作: 有些人报告了启动挂起的 boot2docker VM 的问题,下面的步骤通常已经为我解决了这个问题。

boot2docker delete
boot2docker download
boot2docker init
boot2docker up

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

我相信这与我之前遇到的问题类似。看起来,在我们的主机文件中必须将本地主机分配给 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:编辑了 post,因为链接可能会消失

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

所以在我的 VirtualBox GUI 上,在“设置”>“存储”下,我将文件位置从

/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

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

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

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

boot2docker delete
boot2docker download
boot2docker init
boot2docker up

然后运行:

$(boot2docker shellinit)

有效。

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

boot2docker up
$(boot2docker shellinit)

在那之后,我能够 运行 命令 docker psdocker images 而不会出现错误,所以我已经准备好了。

这是我的经验...

家里有一台 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

现在,两台机器都可以工作了。希望这对其他人有帮助。

如果我重新启动我的 MBP 并允许 iTerm2 在打开之前的选项卡的情况下自动启动,我会遇到同样的错误。我发现重启 iTerm2 可以解决问题。

将您的配置添加到 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

然后打开一个新终端 window 或获取文件。