好吧,我想我明白了。
该 客户端 是
docker命令安装到OS X.
该 主机 是Boot2Docker VM。
该 守护 在里面Boot2Docker运行的后台服务。
此变量告诉客户端如何连接到守护程序。
启动Boot2Docker时,已经弹出的终端窗口已经
DOCKER_HOST设置,这就是
docker命令起作用的原因。但是,要在其他终端窗口中运行Docker命令,您需要
在这些窗口中 设置此变量。
未能设置它会给出如下消息:
$ docker run hello-world2014/08/11 11:41:42 Post http:///var/run/docker.sock/v1.13/containers/create: dial unix /var/run/docker.sock: no such file or directory
解决该问题的一种方法就是简单地执行此操作:
$ export DOCKER_HOST=tcp://192.168.59.103:2375
但是,正如其他人指出的那样,最好这样做:
$ $(boot2docker shellinit)$ docker run hello-worldHello from Docker. [...]
要说明此可能不直观的Bash命令,运行
boot2docker shellinit将返回一组设置环境变量的Bash命令:
export DOCKER_HOST=tcp://192.168.59.103:2376export DOCKER_CERT_PATH=/Users/ddavison/.boot2docker/certs/boot2docker-vmexport DOCKER_TLS_VERIFY=1
因此,运行会
$(boot2docker shellinit)生成这些命令, 然后运行它们 。



