我的 boot2docker 安装似乎无法正常工作。我究竟做错了什么?

My boot2docker installation seems to not be working. What am I doing wrong?

我 运行 Mac OS X 10.6.8 Snow Leopard。 仅供参考:我无法升级我的 OS,所以现在不适合我。

所以,我安装了 boot2docker,当我点击图标时,我收到以下输出:

username@My-Mac:~$ bash
username@My-Mac:~$ unset DYLD_LIBRARY_PATH ; unset LD_LIBRARY_PATH
username@My-Mac:~$ mkdir -p ~/.boot2docker
username@My-Mac:~$ if [ ! -f ~/.boot2docker/boot2docker.iso ]; then cp    /usr/local/share/boot2docker/boot2docker.iso ~/.boot2docker/ ; fi
username@My-Mac:~$ /usr/local/bin/boot2docker init 
/usr/local/bin/boot2docker up 
$(/usr/local/bin/boot2docker shellinit)
docker version
error in run: Failed to initialize machine "boot2docker-vm": exit status 1
username@My-Mac:~$ /usr/local/bin/boot2docker up 
error in run: Failed to get machine "boot2docker-vm": machine does not exist (Did you run `boot2docker init`?)
username@My-Mac:~$ $(/usr/local/bin/boot2docker shellinit)
error in run: Failed to get machine "boot2docker-vm": machine does not exist (Did you run `boot2docker init`?)
username@My-Mac:~$ docker version
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 4749651
OS/Arch (client): darwin/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.18/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 
username@My-Mac:~$ 

这是什么意思?我该如何解决这个问题?

我运行进入同样的问题。您需要在 shell 中设置环境变量。 运行 以下:

eval "$(boot2docker shellinit)"

因为它只是根据 shell 持久化,所以你需要将它添加到你的 ~/.bashrc、~/.bash_profile、.zshrc 或任何其他 shell profile 你需要它到 运行 in.

这是一个很好的自动启动 boot2 的 plist 示例docker。您必须修改 plist,以便工作目录与您的相匹配。 https://gist.github.com/krak3n/0f7fe4c3c5828767ec5b

我已经在我的系统上安装了 Kitematic(0.5.19 版,在撰写本文时为 Beta 版)和 boot2docker。 Kitematic 不会安装用于自动启动 boot2docker 实例的 plist。它会在您启动 Kitematic 时启动。它很可能会在关闭时将其关闭,这意味着 运行ning 的容器也将关闭。

最终取决于您要如何设置和 运行 您的环境。如果您只使用 boot2docker 和 docker CLI 并希望在启动时 运行ning,请创建 plist 并设置您的 .bash_profile/.zshrc。如果你想要一个只启动的 GUI 和 CLI 选项,并且 运行s 当你想要它时,那么 Kitematic 就是你要走的路。

上面的答案是正确的,但是你不需要评估,你可以使用:

$(boot2docker shellinit)

您可以将其放入您的 .profile

echo '$(boot2docker shellinit)' >> ~/.profile

然后每次创建新的 shell 时都会设置它。

这可能与我之前回答的问题重复:

经过多次麻烦和委派,我终于弄清楚发生了什么。 让我意识到问题在于我的 VitualBox 共享文件夹和虚拟机文件夹位置。更改共享文件夹并将 VM 的位置重命名为 "VirtualBox VMs" 后,我重新安装 boot2docker 后,一切正常 运行,hello world 验证成功。所以这是一个陷阱。您的虚拟机位置必须位于名为 "VirtualBox VMs" 的文件夹内。该位置似乎并不重要,因为我刚刚在我已经使用的文件夹中创建了一个子文件夹文件夹。不确定它是如何工作的,但它似乎已经工作了,这对于这个问题来说已经足够好了。如果我以后发现任何与文件夹结构相关的问题,我一定会参考这个 post.