私のホスト上で動作するアプリケーションは、ポート4001(設定可能)をリッスンし、信頼できるIPアドレスのホワイトリスト(127.0) .0.1はデフォルトでのみ追加できますが、マスクを使用せずに1つずつ追加できます)。DockerコンテナはIPホワイトリストを使用してホストアプリケーションに接続できません
(これは、Javaで実行されるインタラクティブブローカーゲートウェイアプリケーションだが、私はそれが重要だとは思わない)
私は、ホストアプリケーションに接続する必要がドッキングウィンドウコンテナ内で実行している別のアプリケーションを持っています。
(これは、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ゲートウェイからの応答がありません)
彼らは、特定のIP上にあるかのように、すべてのドッキングウィンドウのコンテナが表示されるように、理想的に私は/ブリッジをドッキングウィンドウコンテナを設定することができるだろうアドレスを追加し、ホワイトリストに追加してください。
私が試したもの:0.0.0.0:4001が失敗したMYIMAGE
バインドのための4001::ポート-pと
sudoのドッキングウィンドウラン4001 -p -tを公開使用
1)すでに割り当てられています。
(ゲートウェイからの応答がありません)
このeithierは仕事や紛争「既に使用中のポート」につながるものではありません。私はこれらの設定が反対の問題(ホストはコンテナの特定のポートを見ることができない)のために設計されていることを知ります。ソケットを読みながらキャッチ
2)設定--net =ホスト
須藤ドッカー実行-t --net =ホストMYIMAGE
例外 - ピアゲートウェイから
(無応答による接続リセット)
ドッキング用のコンテナは127.0.0.1のように見えるはずですが、これはうまくいくはずですが、そうではありません。 --net =ホストを設定し、ホワイトリストにコメントで提案されているように、ローカルホストの実際のIPアドレス192.168.0.12を()を追加
3)
sudoのドッキングウィンドウの実行-t --net =ホストMYIMAGE
ソケットの読み取り中にキャッチ例外 - ピアによって接続リセット
(ゲートウェイからの応答がありません)
4)(ホストアプリケーション上のホワイトリストに、2 ... 172.17.0.1、... 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.
(ホストからの応答なし)
これは恐ろしくハックであるがeithier機能しません。
PSこれは、ホストアプリケーションIB Gatewayをコンテナ内で実行しようとする問題とは異なることに注意してください。
ホストアプリケーションを別のコンテナ内で実行することは望ましくありませんが、いくつかの点ではこれはきちんとした解決策になるかもしれません。
あなたの質問はホワイトリストに容器ipsを追加する方法ですか? – mayid
ホワイトリストに追加することはできますが、(a)動作しません(何か問題があります:コンテナはホストコンピュータのポート4001にアクセスできません)。(b)それは非常に不満足な解決策ですIPアドレスが何であるかは保証されておらず、個別の100のIPアドレスを追加することを意味する可能性があります – robcarver
これ以上説明できませんか? "理想的には、すべてのドッカーコンテナが特定のIPアドレスにあるかのように表示されるように、ドッキング用のコンテナ/ブリッジをセットアップして、ホワイトリストに追加してください。 –