CentOS DockerホストにCentOS Dockerコンテナがあります。このコマンドを使用してドッカーイメージを実行すると、
docker run -d --net=host -p 8777:8777 ceilometer:1.x
DockerコンテナはホストのIPを取得しますが、ホストに割り当てられたポートはありません。 "--net=host" なしで同じコマンドを実行する場合:
docker run -d -p 8777:8777 ceilometer:1.x
dockerはポートを公開しますが、IPは異なります。 Dockerのバージョンは1.10.1です。 Dockerコンテナがポートを公開するホストと同じIPを持つことを望みます。記事でも言及しました。ドッカーファイルガイドライン露出 8777しかし、「--net = host」に言及すると動作しません。端末の実行注文する。
答え1
--net=host
コンテナを使用する場合ホストのネットワークスタックが共有され、ホストのすべてのインターフェイスをコンテナで使用できます。、(dockerの実行参照によると)
すでにすべてを共有している場合は、8777を8777に明示的にマッピングする必要はありません。実際にマッピングを実装するのは奇妙です。 1234を8777にマッピングすると、ホストも8777を受信しますか?これが割り当てられたポートが表示されない理由です。
無視し--net=host
てホストの8777に接続しようとすると、コンテナの8777に接続します。コンテナが使用している実際のIPアドレスがわからないことを確認してください。外部世界では、ホストIPのみを表示できます。