Dock避坑指南(一):源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示 Apache Tomcat | 端口是通的无法访问tomcat

错误描述

类型 状态报告

描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

Apache Tomcat/10.0.14

  

首先恭喜你,看到这个界面说明Tomcat是OK的,只是没有访问到自己想要的页面。
1.如果是在学习Docker的tomcat容器部署,出现上述错误,则是镜像本身的问题,换个镜像就可以了。

如果不想换镜像,通过#docker ps 获取你Tomcat容器的ID(复制ID),然后再通过#docker exec -it  Tomcat容器ID,这个命令,进入容器内部,#cd webapps,随意创建个文件夹web_demo,然后里面随意写一个index.html。然后再通过地址栏访问:http://192.168.31.191:8080/web_demo/index.html 此时自然是可以访问通的。 

2.如果是在常规访问,出现的这个错误,那么道理是一样的,要进入你的部署目录检查你访问地址对应的工程目录,看一下webapps下面的工程是否部署成功。

该错误,本身说明Tomcat是通的,仅仅是你因为你访问的路径不对(后面缺失一些具体路径,比如忘记带工程名称了),或者被访问的路径下缺失默认页面index.html或者index.jsp。

具体步骤

1.用标准流程停掉tomcat

#docker ps 查看容器列表,然后根据容器ID移除
#docker stop 46ac1401f5b8 停掉服务后,再重新移除
#docker rm 46ac1401f5b8  如果容器正在运行会被要求先停掉服务

2.删除/移除指定版本的Tomcat镜像

docker rmi  tomcat:latest  移除指定镜像

注:后面的latest是Tomcat镜像标签,用命令:docker images 可以获取(第二列)

3.重新下载镜像

docker pull  tomcat:8.5.46-jdk8-openjdk   该版本镜像,可以访问到tomcat首页

4.宿主机8000重新关联容器中的Tomcat8080端口

docker run -p 8000:8080 -d tomcat:8.5.46-jdk8-openjdk 后台阻塞运行(如果不带-p,则前台窗口运行)

注:如果只安装了一个版本的Tomcat后面的标签(Tomcat版本) 可以不带

5.再次访问

http://192.168.31.191:8000

附注

既然能看到图像界面上的Tomcat版本号,说明很可能是tomcat本身的问题,比如是精简版,默认没有index.jsp(tomcat首页)。如果上述步骤没有界面,则要认真排查一下了

1.本地打开cmd窗口ping一下访问的ip

ping 192.168.31.191

如果不能ping通,则要检查linux的ip配置问题了,可参考:ping不通,点击这里 

2.如果能ping通,再telnet一下

telenet 192.168.31.191 8000 成功后是一个纯黑色的界面

如果端口没有通,页面则会直接有错误提示,此时就要检查防火墙等方面的问题了,要么让防火墙给此端口放行,要么关闭防火墙。 

提示:如果Windows系统的cmd界面,无法识别telnet命令,请点击这里

1.放行指定端口

#添加指定需要开放的端口:
firewall-cmd --add-port=8000/tcp --permanent
#重载入添加的端口:
firewall-cmd --reload
#查询指定端口是否开启成功:
firewall-cmd --query-port=8000/tcp

2.放行指定IP

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.31.191"   accept" 
#重新载入
firewall-cmd --reload
iptables -L 查看IP策略

3.关闭防火墙

#systemctl stop firewalld 临时关闭
#systemctl disable firewalld 永久关闭
#systemctl status firewalld 查看状态

尾言

telenet 192.168.31.191 8000 能连通后,最后再排查dock和Tomcat本身的问题。问题终将会解决。

  • 15
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值