获取拨号 tcp:从容器内的服务访问互联网时的 i/o 超时

Ami*_*har 5 go pubnub docker

我正在使用 PubNub (GO SDK) 发布/订阅服务来接收消息,但即使我能够google.com从容器内部ping 通,我也没有收到任何消息。

在 Pubnub 日志中,每次我的程序尝试连接到源(Pubnub 服务器)时,我都会收到“拨号 tcp:i/o 超时”错误。我猜这是由于主机或容器中的 Internet 连接速度较慢。

我应该怎么做才能解决这个错误?

Ami*_*har 6

我通过在我的机器的名称服务器中包含 Google DNS (8.8.8.8) 来解决此错误。我认为此错误是由于域解析过程缓慢造成的,因为我的计算机从 DHCP 获取 DNS。

我按照以下步骤操作:

  1. 在文件中设置静态 DNS /etc/resolvconf/resolv.conf.d/base

    名称服务器 8.8.8.8
    名称服务器 8.8.4.4

  2. 配置您的 PC,使其使用用户提供的 DNS,而不是从 DHCP 获取。为此,打开此文件/etc/dhcp/dhclient.conf并添加此行:

    取代域名服务器 8.8.8.8、8.8.4.4;

  3. 使用以下命令重新启动网络管理器:

    sudo 服务网络管理器重新启动