2017-01-25 7 views
0

問題:ネットワークがホストマシンにルーティングされません。ホストマシン上またはdocker.localに8080: 例えば:MacでDockerセットアップのネットワークをデバッグするにはどうすればよいですか?

docker run -tip 80:8080 httpd 

は、ローカルホスト上の対応のApacheにはなりません8080またはそのようなものを。内部から接続しようとすると、コンテナは正常に動作します。

Docker側では問題ありません。あなたdocker psオン が得る:... 80/tcp, 0.0.0.0:80->8080/tcp ...

環境:新しい、クリーンなOSのインストール - OSXシエラ10.12.2、Docker.appバージョン1.13.0安定(プラス1.13.0ベータおよび1.12.0ベータは同様にしようとしたが同じ結果で)。

仮定: DockerとOSの間に何か不具合があります。私はこの「何か」がハイパーキット(私にとってはブラックボックスのようなもの)だと思います。いくつかの設定がここからのビルドスクリプトによって壊れているかもしれません:http://bigchaindb-examples.readthedocs.io/en/latest/install.html#the-docker-wayこれはdocker-machine中心ですが、実際は私がおそらく過小評価しています。面白い事実は、これは新しいインストールでもあるということです。このビルドスクリプトは私がやった最初のものでした。ネットワーキングが実際に動作するかどうかはわかりません。

質問:どうすればこのようなことを診断できますか?私は正確にトラフィックが失われた場所をトレースし、それに応じて修正することができるようにしたいと考えています。

答えて

1

あなたのコマンドラインは、ポートが逆転している:コンテナ港に続いてバインドするオプションのインターフェイスと、最初のホストポートをだ

docker run -tip 8080:80 httpd 

を。 docker ps出力では、ホスト上のポート80がコンテナ内のポート8080にマップされていることもわかります。

コンテナ内のサービスは、コンテナのlocalhostインターフェイスではなく、すべてのコンテナインターフェイス(0.0.0.0)でリッスンする必要があります。それ以外の場合、プロキシはトラフィックを転送できません。ただし、公式画像のデフォルト設定にはこの問題はなく、curlコマンドはあなたに当てはまらないことを示します。

+0

あなたはそうです、私は信じられないほど慎重ではありません。ありがとうございました! – nanoook

関連する問題