【发布时间】:2016-06-01 14:26:23
【问题描述】:
我在通过 Tutum 托管到 AWS 的节点上遇到网络问题。
我进入节点并运行
telnet localhost 3000
而且效果很好。当我 docker exec -it <containerid> bash 进入我的一个容器并运行上面相同的命令时,我收到此错误:
telnet: Unable to connect to remote host: Connection refused
谁能解释为什么不允许从容器到主机的出站连接?
【问题讨论】:
-
您的容器使用什么网络堆栈?
localhost表示本地。在您的主机上,它是主机本地接口,您的容器是它们自己的主机本地接口。因此,除非您使用--net=host运行容器,否则这是一种常规行为,因为在containers-localhost-ip:3000上没有运行任何服务,而只有在host-localhost-ip:3000上运行不同的服务。 -
在 tutum 配置中添加 net=host 解决了这个问题。请发布您的答案,以便获得信用:) 谢谢
标签: networking docker telnet iptables tutum