局域网内Windows无法连接Ubuntu Server上的Docker容器求助
解决Ubuntu Server上Docker容器外部访问超时问题
排查步骤:
检查Ubuntu防火墙(ufw)状态
- 执行命令查看防火墙是否启用:
sudo ufw status - 如果输出显示
Status: active,说明防火墙在运行,需要开放8080端口:sudo ufw allow 8080/tcp - 也可以临时关闭防火墙测试是否是防火墙导致的问题:
关闭后如果Windows能正常访问,就确认是防火墙限制,重新开启防火墙并添加端口规则即可。sudo ufw disable
- 执行命令查看防火墙是否启用:
验证Docker端口映射配置
- 查看容器的端口绑定情况,确认是否绑定到所有网卡:
docker ps - 检查对应Nginx容器的
PORTS列,应该显示0.0.0.0:8080->80/tcp,如果是127.0.0.1:8080->80/tcp,说明只允许本地访问,需要重新启动容器时确保端口绑定到0.0.0.0(默认配置,除非手动指定了127.0.0.1)。
- 查看容器的端口绑定情况,确认是否绑定到所有网卡:
确认局域网连通性
- 在Windows设备上执行
ping 192.168.1.38,如果ping不通,说明两台设备不在同一个有效局域网内,检查IP配置、路由器隔离设置等。
- 在Windows设备上执行
检查iptables规则
- 有时候ufw和Docker的iptables规则可能冲突,查看是否有允许8080端口的规则:
sudo iptables -L -n | grep 8080 - 如果没有相关规则,可以手动添加:
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
- 有时候ufw和Docker的iptables规则可能冲突,查看是否有允许8080端口的规则:
内容的提问来源于stack exchange,提问作者slayoffer
相关产品推荐
相关产品推荐

