DOCKER_HOST变量有什么作用?

我是Docker的新手,在OSX上使用Boot2Docker。启动后,将显示以下消息:

To connect the Docker client to the Docker daemon, please set

export DOCKER_HOST=tcp://192.168.59.103:2375

即使没有它,基本的Docker命令(例如docker run hello-world)也可以正常工作。

安装说明不是非常有用:

Note: If you see a message in the terminal that looks something like this:

To connect the Docker client to the Docker daemon, please set:

export DOCKER_HOST=tcp://192.168.59.103:2375

you can safely set the evironment variable as instructed.

知道它是“安全的”并没有说出它为什么有用的原因。

我不清楚的是:

  1. 泊坞窗“客户端”是什么?
  2. 泊坞窗“守护程序”是什么?
  3. 泊坞窗“主机”是什么?(Boot2Docker VM本身?)

回答:

好吧,我想我明白了。

该 是docker命令安装到OS X.

该 是Boot2Docker VM。

该 在里面Boot2Docker运行的后台服务。

此变量告诉客户端如何连接到守护程序。

启动Boot2Docker时,已经弹出的终端窗口已经DOCKER_HOST设置,这就是docker命令起作用的原因。但是,要在其他终端窗口中运行Docker命令,您需要

在这些窗口中 设置此变量。

未能设置它会给出如下消息:

$ docker run hello-world

2014/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-world

Hello from Docker. [...]

要说明此可能不直观的Bash命令,运行boot2docker shellinit将返回一组设置环境变量的Bash命令:

export DOCKER_HOST=tcp://192.168.59.103:2376

export DOCKER_CERT_PATH=/Users/ddavison/.boot2docker/certs/boot2docker-vm

export DOCKER_TLS_VERIFY=1

因此,运行会$(boot2docker shellinit)生成这些命令, 然后运行它们

以上是 DOCKER_HOST变量有什么作用? 的全部内容, 来源链接: utcz.com/qa/433996.html

回到顶部