无法从主机网络上的其他计算机访问docker容器

时间:2019-05-23 10:46:06

标签: docker nginx networking portforwarding

我正在做一些开发工作,并编写了一个脚本将当前的主机/ nginx服务器/ nginx设置转换为主机/ docker / nginx服务器/ docker / nginx设置,以便使目录等在它们之间保持相同。

问题是,我在docker容器上公开的所有端口只能在主机上访问,而不能从主机网络上的任何其他计算机访问。

当从诸如192.168.0.3之类的机器上输入192.168.0.2时,它只是说响应时间太长,但是从192.168.0.2输入192.168.0.2会弹出欢迎进入nginx页面的信息?有趣的是我在端口80的en0上进行了wireshark分析,实际上有一些数据包通过

请参阅数据包检查的粘贴框: 局域网到docker:https://pastebin.com/4qR2d1GV 托管到Docker:https://pastebin.com/Wbng9nDB

我尝试使用docker run -p 80:80 nginx/nginxdocker run -p 192.168.0.2:80:80 nginx/nginxdocker run -p 127.0.0.1:80:80 nginx/nginx,但这似乎无法解决任何问题。

从192.168.0.3连接到192.168.0.2时,应该看到欢迎使用nginx。

这是在我的开发环境中,该环境是osx 10.13.5系统。

当我将其推送到ubuntu 16.04服务器时,它可以与可从www访问的容器化nginx一起正常工作,当我在没有docker的主机上运行ngnix时,我也可以从网络上的外部计算机进行连接

1 个答案:

答案 0 :(得分:0)

您的描述有些混乱,端口行中的127.0.0.1仅会将其绑定到localhost-您将无法从另一台计算机访问docker。删除IP地址,您应该可以从本地主机外部访问docker。