【问题标题】:Docker: browsing to container on host computer not workingDocker:浏览到主机上的容器不起作用
【发布时间】:2019-12-14 16:04:31
【问题描述】:

我正在使用 Docker Compose 在 Debian VM 上的 Docker 内运行一个基本的 Web 应用程序 (PHP)。 执行 sudo docker-compose up -d 时,所有容器都可以正常运行。

我的端口设置如下:8007 用于应用程序本身,8008 用于 PHPMyAdmin,9009 用于 Portainer。

Debian VM 的 IP 是 192.168.56.102

在 VM 内使用 curl 浏览到 http://192.168.56.102:8007 时,页面加载没有问题。

但是,在我的 Windows 10 主机 (Chrome) 上浏览到相同的 URL 时,我遇到了连接超时。

从主机到 VM ping 到 192.168.56.102,反之亦然,SSH 也是如此。

有谁知道为什么我不能浏览到这些页面,尽管在 VM 中一切正常并且主机和 VM 显然能够通信?

谢谢。

【问题讨论】:

  • 您的虚拟机中是否有任何防火墙规则会阻止端口 8007 上的连接?
  • 在我拼命尝试让它工作时,我已经完全刷新了 Debian 防火墙(基本上就像关闭它一样)但无济于事。主机防火墙也关闭了。如果不清楚,也很抱歉:主机无法访问任何端口,而不仅仅是 8007。

标签: docker networking docker-compose debian virtual-machine


【解决方案1】:

我设法解决了这个问题。

正如@larsks 所建议的,Debian 内部的一些防火墙规则阻止了连接。我已经尝试过/sbin/iptables -F 刷新防火墙规则,我认为这已经足够了,但事实证明并非如此。

运行所有这些命令后,Debian 防火墙已完全重置,问题已修复:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

【讨论】:

    猜你喜欢
    • 2016-11-19
    • 1970-01-01
    • 2021-11-19
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多