docker 容器无法到达某些主机的端口
docker container not able to reach some of host's ports
我在 VM 上有一个带有 docker-compose 运行 的堆栈。
这是我的 netstat -tulpn
在 VM
上的示例输出
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:9839 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8484 0.0.0.0:* LISTEN
docker 能够与端口 9839
通信(使用 172.17.0.1
)但不能与端口 8484
.
通信
这是为什么?
这是因为侦听端口 8484 的程序绑定到 127.0.0.1,这意味着它将只接受来自本地主机的连接。
侦听 9839 的那个已经绑定到 0.0.0.0,这意味着它将接受来自任何地方的连接。
要使侦听 8484 的人接受来自任何地方的连接,您需要更改它的绑定对象。如果这是您自己编写的内容,则可以在代码中进行更改。如果不是,可能有您可以设置的配置设置。
我在 VM 上有一个带有 docker-compose 运行 的堆栈。
这是我的 netstat -tulpn
在 VM
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:9839 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8484 0.0.0.0:* LISTEN
docker 能够与端口 9839
通信(使用 172.17.0.1
)但不能与端口 8484
.
这是为什么?
这是因为侦听端口 8484 的程序绑定到 127.0.0.1,这意味着它将只接受来自本地主机的连接。
侦听 9839 的那个已经绑定到 0.0.0.0,这意味着它将接受来自任何地方的连接。
要使侦听 8484 的人接受来自任何地方的连接,您需要更改它的绑定对象。如果这是您自己编写的内容,则可以在代码中进行更改。如果不是,可能有您可以设置的配置设置。