
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