Windows10クライアント(192.168.0.2)からDockerコンテナの入っているホストOS(192.168.0.100)に、nginxコンテナのipアドレス(172.17.0.2)をpingしましたが通りません。
そんなときはスタティックルートを追加すると良いようでした。
スタティックルーティング – route addコマンドとは
PowerShellを[管理者として実行]してroute addコマンドを入力します。
PS> route -p add 172.17.0.0 mask 255.255.0.0 192.168.1.100 metric 30
PS> route print
IPv4 ルート テーブル =========================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.2 20 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331 172.17.0.0 255.255.0.0 192.168.0.100 192.168.0.2 40
pingが通るようになりました。
PS> ping 172.17.0.2
172.17.0.2 に ping を送信しています 32 バイトのデータ:
172.17.0.2 からの応答: バイト数 =32 時間 =2ms TTL=63
172.17.0.2 からの応答: バイト数 =32 時間 <1ms TTL=63
172.17.0.2 からの応答: バイト数 =32 時間 <1ms TTL=63
172.17.0.2 からの応答: バイト数 =32 時間 <1ms TTL=63
172.17.0.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 2ms、平均 = 0ms