从不同的物理机器访问docker容器IP
我有一台服务器托pipe在运行Yosemite的MAC上运行在boot2docker主机上的docker容器上的端口8080上侦听。
如果我尝试从我的机器上curl boot2docker的IP端口(比如8080),我可以打到在docker容器中运行的服务器,并得到响应。
我感兴趣的是我想从另一台机器发送一个请求到这个服务器,并得到回应。 我试图使用pfctl添加端口转发规则,但似乎没有工作。 当我在我的机器上执行以下命令时 –
tcpdump -pnti en0 tcp port 8080
并在我的机器的IP上curl,我发现端口8080正在监听,但没有响应。 我们在这里有两个层次 – 我的物理机器,运行在一个盒子上的boot2docker和运行服务器的docker容器。 我怎么能实现这个任务发送一台机器的请求到另一台服务器在docker集装箱的服务器?
谢谢 !
我能够使用此命令转发来自另一台机器但在同一networking中的请求 – “”“
boot2docker ssh -vnNTL <第一物理机IP>:任何端口:boot2docker IP或localhost>:映射到容器端口的主机端口
“”“例子 – boot2docker ssh -vnNTL 192.168.1.2:5000:localhost:32768
在这里,我可以发送来自任何物理机器的请求 – curl http://192.168.1.2:5000这将请求转发到我的boot2docker的IP容器可以提供请求,并发回相应的响应,你应该看到它在您发送请求的机器上。