gpt4 book ai didi

macos - DOCKER_HOST 变量有什么作用?

转载 作者:IT老高 更新时间:2023-10-28 12:34:41 44 4
gpt4 key购买 nike

我是 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. 什么是 docker“客户端”?
  2. 什么是 docker“守护进程”?
  3. 什么是 docker “主机”? (Boot2Docker 虚拟机本身?)

最佳答案

好的,我想我明白了。

client 是安装在 OS X 中的 docker 命令。

主机是 Boot2Docker 虚拟机。

守护进程是在 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) 会生成这些命令,然后运行它们

关于macos - DOCKER_HOST 变量有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234792/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com