【问题标题】:Access Dask scheduler from an external docker container从外部 docker 容器访问 Dask 调度程序
【发布时间】:2018-09-29 12:44:28
【问题描述】:

我已经在主机 A 上启动了一个 dask-scheduler。主机 A 安装了 docker 引擎。所以,主机 A 有多个网络接口:

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

我测试了一个简单的客户端,从主机 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 : Stream is closed

请帮忙

问候

【问题讨论】:

  • 您能分享一下您使用的实际docker run 命令吗?
  • docker run -it --rm --name test [--net host]

标签: docker dask


【解决方案1】:

谢谢各位。问题解决了。

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

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多