来自 Docker 容器的出站 telnet 连接被拒绝但在主机上工作正常
Outbound telnet connection from Docker container refused but works fine on host
我在通过 Tutum 托管到 AWS 的节点上遇到网络问题。
我进入节点并且运行
telnet localhost 3000
而且效果很好。当我 docker exec -it <containerid> bash
进入我的一个容器并 运行 上面的相同命令时,我收到此错误:
telnet: Unable to connect to remote host: Connection refused
谁能解释为什么不允许从容器到主机的出站连接?
您的容器使用什么网络堆栈? localhost
表示本地。在你的主机上它是主机本地接口,你的容器是它们自己的主机本地接口。因此,除非您 运行 您的容器带有 --net=host
这是一种常规行为,因为 运行ning 在 containers-localhost-ip:3000
上没有服务,但只有 host-localhost-ip:3000
是不同的。
我在通过 Tutum 托管到 AWS 的节点上遇到网络问题。
我进入节点并且运行
telnet localhost 3000
而且效果很好。当我 docker exec -it <containerid> bash
进入我的一个容器并 运行 上面的相同命令时,我收到此错误:
telnet: Unable to connect to remote host: Connection refused
谁能解释为什么不允许从容器到主机的出站连接?
您的容器使用什么网络堆栈? localhost
表示本地。在你的主机上它是主机本地接口,你的容器是它们自己的主机本地接口。因此,除非您 运行 您的容器带有 --net=host
这是一种常规行为,因为 运行ning 在 containers-localhost-ip:3000
上没有服务,但只有 host-localhost-ip:3000
是不同的。