【问题标题】:Outbound telnet connection from Docker container refused but works fine on host来自 Docker 容器的出站 telnet 连接被拒绝,但在主机上工作正常
【发布时间】: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


【解决方案1】:

您的容器使用什么网络堆栈? localhost 表示本地。在您的主机上,它是主机本地接口,您的容器是它们自己的主机本地接口。因此,除非您使用 --net=host 运行您的容器,否则这是一种常规行为,因为在 containers-localhost-ip:3000 上没有运行任何服务,而只有在 host-localhost-ip:3000 上运行不同的服务。

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 1970-01-01
    • 2015-12-10
    • 2022-07-19
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    相关资源
    最近更新 更多