tomcat on docker container on linux上Map到除8080以外的任何内容,无法从internet访问

9bfwbjaz  于 2022-11-13  发布在  Docker
关注(0)|答案(1)|浏览(153)

我测试了AWS EC2 Amazon Linux和Ubuntu 18.04。Tomcat可以从localhost:8081访问,但不能从外部网络访问
把你的公猫形象拉出来后
docker pull tomcat
然后运行具有端口Map的容器:
docker run -d --name container-test -p 8081:8080 tomcat
Tomcat的网页不可访问,表示:
This site can’t be reached 13.49.148.112:8081 took too long to respond.
但如果这样做,它的工作很好。
docker run -d --name container-test2 -p 8080:8080 tomcat
我在AWS安全组中打开了ALL ALL。
netstat显示端口正在正确侦听
ACL的默认规则为100,允许所有内容
我也做了nmap,发现端口被过滤了:

$nmap -p8081 172.217.27.174
   PORT     STATE    SERVICE
8081/tcp filtered blackice-icecap

尝试向iptables添加规则,但没有成功:
iptables -I INPUT 3 -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 8081 -m state --state New -j ACCEPT
可以做些什么呢?
更新:花了两天时间解决了亚马逊Linux2的问题,但没有成功,切换到Ubuntu 22.04,它的工作。而且,同样的设置工程在孟买地区的diff ami图像,因此有一个很大的机会,图像是错误的,特别是在斯德哥尔摩地区。

8hhllhi2

8hhllhi21#

可能是这样的:

  • 请检查任务定义的容器的端口Map
  • 检查子网的NACL(访问控制列表)条目(检查其是否为公用)
  • 检查您是否允许您的IP或www.example.com的安全组中的流量0.0.0.0/0

相关问题