Docker不能在OS / X上运行

当试图使用Docker – 例如

12:40:26/~ $sudo docker pull fluxcapacitor/pipeline Using default tag: latest 

错误返回:

 Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/ Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

请注意,我已经在Mac OS X上遵循了这些答案sudo docker无法连接到Docker守护进程。 docker守护程序是否在这个主机上运行?

如下:

docker机启动默认

 12:40:36/~ $docker-machine start default Starting "default"... Machine "default" is already running. 

docker工人

 12:41:20/~ $docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 

那么还有什么需要做的呢?

这是

 $docker --version Docker version 1.11.2, build b9f10c9 

El Capitan

更新 docker-machine env default输出

 $eval "$(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/macuser/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" 

以下命令导出后续docker命令使用的一些环境variables:

 eval "$(docker-machine env default)" 

但是,如果使用sudo启动docker,docker可执行文件将无法访问导出的环境variables。 您可以通过将-E标志传递给sudo来使其工作:

 sudo -E docker pull fluxcapacitor/pipeline 

但更容易的select是使用没有根的docker。

 docker pull fluxcapacitor/pipeline 

你必须设置环境variables:

 eval "$(docker-machine env default)" 

更多关于这里 。

尝试时,我的MAC上有同样的探测器

 # eval "$(docker-machine env default)" 

得到这个错误

 Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": x509: certificate is valid for 192.168.99.101, not 192.168.99.100 You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'. 

重新生成证书,找出可用的docker机;

 # docker-machine ls 

可用docker机器的输出(省略其他)

 NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 Unknown Unable to query docker version: Get https://192.168.99.100:2376/v1.15/version: x509: certificate is valid for 192.168.99.101, not 192.168.99.100 

为此默认泊坞窗机器生成证书

 # docker-machine regenerate-certs default 

然后将docker-machine env设置为default docker-machine;

 # eval "$(docker-machine env default)" 

并在此之后正常工作。