実行中のDockerコンテナのIPアドレスを取得する方法 質問する

実行中のDockerコンテナのIPアドレスを取得する方法 質問する

私は Docker for Mac を使用しています。Docker コンテナで nodejs ベースのマイクロサービスを実行しています。ブラウザからノード マイクロサービスをテストしたいです。実行中の Docker コンテナの IP アドレスを取得するにはどうすればよいでしょうか?

ベストアンサー1

ホストからコンテナにポートをマップしたくない場合は、コンテナの docker 範囲 IP に直接アクセスできます。この範囲は、デフォルトではホストからのみアクセスされます。次のようにして、コンテナのネットワーク データを確認できます。

docker inspect <containerNameOrId>

おそらくフィルタリングした方が良いでしょう:

docker inspect <containerNameOrId> | grep '"IPAddress"' | head -n 1

通常、デフォルトの docker の IP 範囲は です。すべてが正常で、特別なネットワーク オプションを指定していない場合、172.17.0.0/16ホストは172.17.0.1、最初のコンテナは になります。172.17.0.2

編集「bash トリック」の代わりに Docker 機能を使用する、よりエレガントな別の方法:

docker inspect -f "{{ .NetworkSettings.IPAddress }}" <containerNameOrId>

編集2最新の Docker エンジンでは、次のようになります (コメントを投稿してくれた方々に感謝します)。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <containerNameOrId>

おすすめ記事