Docker:浏览到主机上的容器不工作

Docker:浏览到主机上的容器不工作,docker,networking,docker-compose,debian,virtual-machine,Docker,Networking,Docker Compose,Debian,Virtual Machine,我正在Debian VM上的Docker内部运行一个基本web应用程序(PHP),使用Docker Compose。 当执行sudo docker compose up-d时,所有容器开始正常运行 我的端口设置如下:8007用于应用程序本身,8008用于PHPMyAdmin,9009用于Portainer Debian虚拟机的IP为192.168.56.102 在VM中使用curl进行浏览时,页面加载不会出现问题 但是,当浏览到我的Windows 10主机(Chrome)上的相同URL时,我会收

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

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

Debian虚拟机的IP为192.168.56.102

在VM中使用curl进行浏览时,页面加载不会出现问题

但是,当浏览到我的Windows 10主机(Chrome)上的相同URL时,我会收到一个连接超时

从主机到VM和viceversa ping到192.168.56.102工作正常,SSH也工作正常

有人知道为什么我不能浏览这些页面,即使虚拟机中的一切都很好,主机和虚拟机显然能够通信吗


谢谢。

我设法解决了这个问题

正如@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

你的虚拟机中有没有防火墙规则可以阻止端口8007上的连接?为了让它正常工作,我不顾一切地刷新了Debian防火墙(基本上就是关闭它),但是没有用。主机防火墙也关闭了。如果不清楚,也很抱歉:没有一个端口可以从主机访问,不仅仅是8007。