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

时间:2015-04-22 12:21:21

标签: macos bash docker osx-snow-leopard boot2docker

我在Mac OS X 10.6.8 Snow Leopard上运行。 仅供参考:我无法升级我的操作系统,因此现在不适合我。

所以,我安装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:~$ 

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

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。您需要在shell中设置环境变量。运行以下命令:

eval "$(boot2docker shellinit)"

因为它只是每个shell持久化,所以你需要将它添加到你的〜/ .bashrc,〜/ .bash_profile,.zshrc或者你需要它运行的任何其他shell配置文件中。

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

我已经在我的系统上安装了Kitematic(版本0.5.19,这是本文中的Beta)以及boot2docker。 Kitematic不会安装plist来自动启动boot2docker实例。它启动Kitematic时启动。它很可能在关闭时将其关闭,这意味着正在运行的容器也将关闭。

最终,您需要如何设置和运行环境。如果您只使用boot2docker和docker CLI并希望在启动时运行,请创建plist并设置.bash_profile / .zshrc。如果您想要一个只在需要时启动并运行的GUI和CLI选项,那么Kitematic就是您的选择。

答案 1 :(得分:2)

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

$(boot2docker shellinit)

你可以把它放在你的.profile

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

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

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

Docker TLS error on Mac

答案 2 :(得分:1)

经过多次麻烦和代表团后,我终于弄明白了发生了什么。是xanderlopez in this post让我意识到问题与我的共享文件夹和VitualBox的虚拟机文件夹位置有关。更改共享文件夹并将VM的位置重命名为“VirtualBox VMs”后,重新安装boot2docker后,所有内容都按预期运行并且hello world验证成功。这就是那里的问题。您的虚拟机的位置必须位于名为“VirtualBox VMs”的文件夹中。该位置似乎并不重要,因为我刚刚在我已经使用的文件夹中创建了一个子文件夹文件夹。不确定它是如何工作的,但似乎已经有效,对于这个问题已经足够了。如果我以后发现与文件夹结构有关的任何问题,我一定会参考这篇文章。