DockerとSelenium Gridで自動テストプラットフォームをセットアップしようとしています。 下の図では、私が使用している構造を見ることができます。 トップには、Compute Engineで動作するubuntuサーバーがあります。 左側には、ubuntu 14.04を実行しているドッカーのコンテナがあります。 コンテナは、Google App Engineを使用してlocalhost:8080でプロジェクトを実行します。右側に は、2つのノードがaswellセレンハブへとドッキングウィンドウにホストからそこポート・フォワーディングされるPHPUnit Dockerローカルホスト上でSeleniumテストが失敗し、パブリックIPを使用してパスします
ポート4444上で実行されているとセレンのハブです。それぞれ32772および32768にあります。
私のSeleniumテストを実行すると、それらをハブに送信します。ハブはドッキングステーションのローカルホスト上でテストを実行します。 私の問題は、172.17.0.2:8080でテストを実行するようにハブに指示すると、スタートアップ画面が開きますが、フォームは送信できません。 フォームを送信すると、テキスト領域が消去されます。ページが何らかの方法でリフレッシュされるように。奇妙なことは、このxx.xx.xx.xx:32772のように、ホストの外部IPとドッキングステーションのポートを使用するようにハブに指示すると動作します。 それはすべての機能を持っています。しかし、パフォーマンスと自動化の理由から、私は内部のIPアドレスで実行したいと思います。
ご協力いただければ幸いです。
Tijn
あなたのコンテナポートをホストのポートにどのようにバインドしましたか? –
私は両方の方法を試してきました。これは私の選択したポート「docker run -p 8888:8080 myimage」にマッピングすることで実現しましたが、このシナリオでは自動ポート転送が行われます。したがって、-p 8080タグだけです。 – Tijn
コンテンツをどのように配信しますか?あなたはnginxを使用していますか?そうだとすれば 。設定は何ですか? –