通过 127.0.0.1:2375 的 tcp 启用远程 docker 访问失败,但在使用 0.0.0.0:2375 时工作

我目前正在运行 Ubuntu 20.04,并尝试使用 systemd 方法通过 tcp 公开远程 docker 访问,如官方 docker guide 中所列。

# 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 吗?使用任一环回地址有什么显着差异吗?

ffffcccc 回答:通过 127.0.0.1:2375 的 tcp 启用远程 docker 访问失败,但在使用 0.0.0.0:2375 时工作

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

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

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

本文链接:https://www.f2er.com/1488.html

大家都在问