Ale*_*xey 9 virtualbox docker-for-windows
我在 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. 我也可以从容器内部访问 Internet。
配置如下:
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
Run Code Online (Sandbox Code Playgroud)
问题是我无法连接 Windows 主机的 Nginx。telnet 192.168.1.3 8000从路由器尝试- 连接被拒绝。我在 Windows 机器上没有任何防病毒软件,并且防火墙已关闭。
一段时间后自己找到解决方案:)
VirtualBox -> Machine settings -> Network -> Adapter 1 (NAT) -> Advanced, Port Forwarding
Run Code Online (Sandbox Code Playgroud)
添加如http截图所示的规则:
规则ssh已由 自动添加docker-machine create。最后一个问题是如何http在docker创建暴露端口的容器时自动添加规则。
| 归档时间: |
|
| 查看次数: |
6869 次 |
| 最近记录: |