dockerfile启动tomcat,浏览器访问不了问题--总结
对于这个问题,弄了两天,终于被自己坑到了! centos7本机可以访问:curl localhost:8080,浏览器访问不了
检查步骤:
1、检查端口是否开启冲突或者被占用
ss -ntl [root@7fb3b819d339 /]# ss -ntl # 容器端口已经开启 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 1 127.0.0.1:8005 *:* LISTEN 0 100 *:8080 *:* [root@szb ~]# ss -ntl # 宿主机没有别的服务占用 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:8080 *:* LISTEN 0 128 [::]:8080 [::]:*
2、检查安全组的8080端口是否开放 本人是腾讯云,已经打开8080端口
3、环境变量配置是否有问题 虽然我也配错了,但是不是最终原因,因为java可以启动,很奇妙
vim /etc/profile export JAVA_HOME=/usr/local/jdk export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar export PATH=$PATH:$JAVA_HOME/bin
4、防火墙限制端口访问 本人就是之前做实验测试的时候没有清理防火墙规则,实际上发现了这个问题,但是没有重启服务,导致清空规则后没生效 iptables -F # 清空防火墙规则 systemctl restart iptables # 重启服务,要是没启动过,reboot一下就能清空规则
其余网上描述的问题:
1、是否有其他设置导致你的文件解析错误 可以查看你容器里的cat /etc/resolv.conf,查看容器里的域名服务是否正常,一般是和你宿主机保持一致的 2、检查Tomcat文件webapps和其目录下的root里面是否有内容 [root@7fb3b819d339 tomcat]# ll webapps/ROOT/ 一般都是docker直接下载tomcat的容器,会出现webapps目录下为空的情况,直接cp -r webapps.dist/* webapps/ 即可
