从外部Docker容器访问Dask调度程序

时间:2018-09-27 14:46:32

标签: docker dask

我已经在主机A上启动了dasch-scheduler。主机A已安装docker引擎。因此,主机A具有多个网络接口:

  • 192.168.10.250(主机A的默认IP)
  • 172.17.0.1(网桥网络(即docker0)中的主机IP地址)

我从主机A到IP地址都测试了一个简单的客户端,并且运行良好

现在,我在未指定任何网络的情况下在同一主机A上启动了一个Docker容器,因此该Docker容器连接到默认桥网络并接收IP地址172.17.0.2。在Docker容器中,我尝试启动一个连接到主机A上dask调度程序的客户端,如下所示:

client = Client('172.17.0.1:8786')

但是每次我收到以下错误:

IOError:尝试在10秒后连接到“ tcp://172.17.0.1:8786”超时:connect()未及时完成

我尝试将容器的网络驱动器更改为“主机”而不是“网桥”,但是随后出现以下错误:

distributed.comm.core.CommClosedError:in:流已关闭

请帮助

致谢

1 个答案:

答案 0 :(得分:0)

谢谢大家。问题解决了。

我意识到问题是在docker image中使用了python 2.7。当我使用python 3.6时,它可以工作(即使没有--net主机)

致谢