
Windows 10 に ToolBox をインストールしました。
マシンと Nginx コンテナーを作成し、ポート 8000 で外部に開きました。
Docker マシンの IP は192.168.99.100
、コンテナの IP は です172.17.0.2
。Windows
から として Nginx にアクセスできます192.168.99.100:8000
。さらに、Windows ホストから に直接アクセスすることもできます172.17.0.2:80
。また、コンテナ内からインターネットにアクセスすることもできます。
全体の構成は次のようになります。
Container (Nginx) Docker Host (VirtualBox) Host (Windows 10) Router
172.17.0.2:80 <-----------> 172.17.0.1 (docker0)
10.0.2.15 (eth0)
192.168.99.100:8000 (eth1) <------> 192.168.99.1 (Ethernet 2, VirtualBox Host-Only Ethernet Adapter)
192.168.1.3 (Ethernet, Intel Hardware Adapter) <--------------------> 192.168.1.1
<Internet static IP address> <-----------> Provider
問題は、Windows ホストの外部で Nginx に接続できないことです。telnet 192.168.1.3 8000
ルーターから試しましたが、接続が拒否されました。Windows マシンにはウイルス対策ソフトがなく、ファイアウォールはオフになっています。
答え1
答え2
タイトルはインターネットですが、ソリューションでは LAN を意味することを希望します。
このコードも同様のトリックを実行します:
netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.99.100 connectport=8000 protocol=tcp