Docker在Mac上安装不正确

4

我有一台非常新的Macbook Pro。刚下载了Docker安装程序并运行了它。然后我打开了快速启动应用程序,但是出现了一些错误。

我本来想给您展示它说了什么,但第二次打开快速启动应用程序时它没有再次出现相同的错误。下面是第二次打开快速启动应用程序时的显示内容:

Machine default already exists in VirtualBox.
Starting machine default...
exit status 1
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
Setting environment variables for machine default...



                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


host is not running
docker is configured to use the default machine with IP 
For help getting started, check out the docs at https://docs.docker.com

default is not running. Please start this with docker-machine start default
bash-3.2$ docker-machine env
Error: Expected either one machine name, or -u flag to unset the variables in the arguments.

当我尝试运行 Docker 时,出现了以下情况:

docker run hello-world
Post http:///var/run/docker.sock/v1.20/containers/create: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

我认为Docker应该非常棒(众所周知每个人都很喜欢它),但我按照所有说明做完后感到混乱。
编辑:我正在使用Mac OS 10.10.3和VirtualBox 5.0.3。

https://github.com/docker/machine/issues/1716 - Mark Setchell
docker 命令行界面需要 docker-machine env 才能正常运行,因为它需要这些环境变量来确定 docker 守护进程的运行位置。由于该环境变量不存在,因此 docker 命令行界面会默认尝试使用 Unix 套接字,但在 Mac 上,没有 Unix 套接字可以与守护进程通信 -- 守护进程运行在虚拟机中,只能通过 TCP 套接字进行访问。环境变量将设置该 TCP 套接字的位置。 - Andy
@MarkSetchell 我将VirtualBox升级到5.0.3,但问题仍然存在。 - Some Guy
@Andy 谢谢,我知道问题出在哪里,我的问题是我按照安装说明做了一切,但仍然卡住了,那么我该怎么办才能解决这个问题呢? - Some Guy
1个回答

6

只需要从您的shell中运行:

eval $(docker-machine env default)

或者你可以在.bash_profile文件中设置相同的内容。

如果您只运行docker-machine env default命令,就能看到环境变量:

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/user/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"

不要忘记启动你的docker-machine(也称为boot2docker)

$ docker-machine start default

您还可以在此处查看docker-machine子命令参考


有人告诉我要这样做,但是有一个例外。My-MacBook-Pro:~ me$ eval $(docker-machine env default) 打开 /Users/me/.docker/machine/machines/default/ca.pem:没有那个文件或目录My-MacBook-Pro:~ me$ docker-machine env default 打开 /Users/me/.docker/machine/machines/default/ca.pem:没有那个文件或目录 - Some Guy
4
看起来您的docker-machine没有被创建。您是否尝试过运行docker-machine ls,然后如果您有一个名为default的机器,则可以尝试运行docker-machine rm default,接着再运行docker-machine create --driver virtualbox default。您也可以尝试使用名称不同于default的其他名称创建另一台机器。 - Rico
1
好的,那个方法起作用了。关键是稍微升级一下VirtualBox,然后按照Rico所说的去做。这是最糟糕的安装经历之一,错误信息没有任何帮助。谢谢Rico。 - Some Guy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接