-1

我目前正在运行 Ubuntu 20.04 并尝试使用官方docker guidesystemd中列出的方法通过 tcp 公开远程 docker 访问。

# config in docker.service.d
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375

但是我注意到它仅在 IP 地址被列为0.0.0.0而不是127.0.0.1.

我可以知道是什么导致它只能使用0.0.0.0:2375并且使用任一环回地址是否有任何显着差异?

4

1 回答 1

0

该文档指导您根据需要更改行。当您使用时127.0.0.1,守护程序将侦听环回接口,因此无法从网络访问。环回接口仅意味着可在同一主机上访问。

当您使用0.0.0.0(不是环回,而是表示任何接口的特殊地址,因此包括您已连接到网络的任何接口)时,通过端口 2375 到达您的主机的网络请求将被路由到您的守护进程。

更新:你可能会这样想。您指定的 IP-H <IPv4>:2375标识守护程序将侦听的接口。它是来自网络的请求的目标 IP,也是来自守护进程的回复的源 IP。127.0.0.1 对应于一个环回接口,如果它是您的 IP 地址之一,您可以使用例如 192.168.1.54。0.0.0.0 是一个特殊的地址,意思是“监听我所有的接口”。

于 2021-08-01T16:48:38.170 回答