当前位置:  开发笔记 > 编程语言 > 正文

Docker容器无法使用IP白名单连接到主机应用程序

如何解决《Docker容器无法使用IP白名单连接到主机应用程序》经验,为你挑选了0个好方法。

我在主机上运行的应用程序具有以下功能:它侦听端口4001(可配置),并且仅接受来自受信任IP地址白名单的连接(默认情况下仅127.0.0.1,可以添加其他地址,但可以添加一个)一,不使用口罩)。

(这是在Java中运行的交互式经纪人网关应用程序,但我认为这并不重要)

我在Docker容器中运行了另一个需要连接到主机应用程序的应用程序。

(这是一个访问IB API的python应用程序,但同样,我认为这并不重要)

最终,我将在多台机器上拥有多个容器来尝试执行相同的操作,但是我什至无法使其与在同一台计算机上运行的容器一起使用。

sudo docker run -t  myimage

Error: Couldn't connect to TWS.  Confirm that "Enable ActiveX and Socket Clients" is enabled on the TWS "Configure->API" menu.

(主机上的IB网关无响应)

理想情况下,我将能够设置docker容器/桥接器,以便所有docker容器看起来好像它们位于特定IP地址上一样,将其添加到白名单中,然后瞧。

我尝试过的

1)使用-p和EXPOSE

须藤码头运行-t -p 4001:4001 myimage

绑定0.0.0.0:4001失败:端口已分配。

(网关未响应)

这要么无效,要么导致“端口已在使用中”冲突。我收集到这些设置是针对相反的问题(主机看不到容器上的特定端口)而设计的。

2)设置--net = host

sudo docker运行-t --net = host myimage

读取套接字时捕获异常-对等方重置连接

(网关未响应)

这应该可行,因为docker容器现在看起来应该是127.0.0.1 ...但事实并非如此。

3)设置--net = host并将本地主机的真实IP地址192.168.0.12(如注释中所述)添加到白名单中

sudo docker运行-t --net = host myimage

读取套接字时捕获异常-对等方重置连接

(网关未响应)

4)将172.17.0.1,... 2,... 3添加到主机应用程序的白名单中(网桥网络为172.17.0.0,随后的容器在此范围内分配)

sudo docker run -t  myimage

Error: Couldn't connect to TWS.  Confirm that "Enable ActiveX and Socket Clients" is enabled on the TWS "Configure->API" menu.

(主持人未回应)

这是骇人听闻的技巧,但无法正常使用。

PS注意,这与尝试在容器内运行主机应用程序IB网关的问题不同-我没有这样做。

我不想在另一个容器中运行主机应用程序,尽管在某些方面这可能是更整洁的解决方案。

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有