如何在具有桥接模式的docker容器中运行Apache Spark 2.1驱动程序

我正尝试使用带有阴影的jar的客户端模式从dockerized Apache Spark应用程序连接到独立的Apache Spark群集。

我已经设置了以下属性

- spark.driver.port - spark.driver.blockManager.port - spark.driver.bindAddress with Docker Host's IP - SPARK_PUBLIC_DNS environment variable with Docker Host's IP. 

我已经公开和映射设置端口与主机端口。 该应用程序显示在Spark Master上运行,但是没有任何响应正在从工作人员返回。 之前没有设置这些属性,它在火花大师处于等待状态时显示,设置它们显示为正在运行,但是没有响应从动作返回,则挂起。

如果我不将spark.driver.bindAddress设置为Docker主机的IP,则在检查工作人员的日志时,生成的驱动程序url是 –

  --driver-url spark://CoarseGrainedScheduler@XXXX:7000 The XXXX is the container IP. All workers binds to container's IP (like 172.17.0.45), which cannot be connected to and from master or driver. If i set it to Docker Host's IP, It fails as that IP is not visible within the container, but would be reachable by others as port-forwarding is configured. 

我错过了什么? 是否还有其他属性需要设置?