我已经在 Compute Engine 上设置了一个容器化实例,并启动了 tomcat 的 docker 实例。
我有一个 docker-compose.yml 文件,将 8080:8080 映射到 tomcat 的容器。
我还启动了一个 mongo db,它在其默认端口上的 docker-compose.yml 文件中引用。
操作系统实例显示内部和外部 IP 地址,我甚至设置了防火墙规则来打开端口 8080。
如果我进行内部网络测试,它会报告数据包到达,但任何访问 IP 地址和端口的尝试都不起作用?
wget http://myipaddress:8080/api/users
只是挂了
外部端口扫描器也报告所有端口均已关闭。
我非常焦急,因为我已经翻阅了很多页试图理解为什么......
非常感谢您的帮助。
答案1
就像 John 所说的,您可能遗漏了或错误地设置了入口规则。您需要使用类似下面的内容,尽管并不完全相同。
方向:
- 入口
行动:
- 允许
目标:
- 特定目标标签输入分配给虚拟机的网络标签
IP 范围:
- 您希望能够访问您的应用的 IP 范围
协议和端口:
- 8080