2017-02-07 16 views
1

私のマシンでは、Dockerでアプリケーションを実行しています(http://localhost:8181で動作します)。ドッカーで実行中のサーバにリクエストする方法

私はdocker run -p 8181:8181 myappでDockerを開始しました。

いくつかの検索の後、ifconfig(172.17.0.1)と自分のコンピュータのipを実行すると、docker0の出力にリクエストを送信しようとしました。私もlocalhostと0.0.0.0を試しました:http://<ip>:8181/myapp。私はUbuntu 16.04を実行しています。

ドッカーで動作しているサーバーにリクエストを送信するにはどうすればよいですか?

+1

http:// localhost:8181/myappが動作するはずです。あなたはそれを試したときに正確に何が起こったのですか? – jwodder

答えて

2

アプリケーションをlocalhost:8181でリッスンして0.0.0.0:8181でリスニングするように変更します。ドッカーのポートマッピングはコンテナ内のループバックインターフェイスではなく、コンテナのIPにルーティングされるため、アプリケーションはすべてのインターフェイスでリッスンする必要があります。

あなたは、コンテナ内の同じポートにホスト上で8181をマップするポートマッピングオプションを持っているとして、あなたはあなたのコンテナを実行します。

docker run -p 8181:8181 myapp 

最後に、あなたがあなたのドッキングウィンドウのホストのIPに接続しますポート8181を使用してアプリケーションにアクセスします。 Docker for Win/Macの新しいバージョンとLinuxインストールのすべてのバージョンでは、ホスト上のlocalhost:8181になります。 docker-machine(docker-toolboxを使用)を使用している場合、そのIPはリモートドッカーホストまたはVMである必要があり、そのIPはdocker-machine lsにリストされます。

+1

これは問題を解決しました!ありがとうございました :) – user16655

関連する問題