Docker方式启动Tomcat,从外部访问却出现404错误

一、情况

今天使用docker hub上拉下来的最新版tomcat运行,在外部访问却显示404错误。
Docker方式启动Tomcat,从外部访问却出现404错误
我们可以看到tomcat镜像是正常运行的。
Docker方式启动Tomcat,从外部访问却出现404错误
而我们又看到镜像打印出来的日志,并没有问题。虚拟机的防火墙和电脑的防火墙都关了。
Docker方式启动Tomcat,从外部访问却出现404错误
Docker方式启动Tomcat,从外部访问却出现404错误
结果还是不行。
但是我半年之前从docker hub拉下来的tomcat镜像运行之后,从外部是可以访问到的。

二、原因

随后,我分别进入了两个tomcat的目录(使用docker exec -it tomcat01(镜像名) /bin/bash即可进入)

新镜像的目录:
Docker方式启动Tomcat,从外部访问却出现404错误
新镜像的webapps目录
Docker方式启动Tomcat,从外部访问却出现404错误
新镜像的webapps.dist目录
Docker方式启动Tomcat,从外部访问却出现404错误旧镜像的目录:
Docker方式启动Tomcat,从外部访问却出现404错误
旧镜像的webapps目录
Docker方式启动Tomcat,从外部访问却出现404错误

我们可以看到新镜像的目录中多出了一个webapps.dist目录,webapps目录下的项目都转移到了webapps.dis目录中。

三、解决办法

只需要把webapps目录删除在把webapps.dist目录重命名为webapps就行了。
Docker方式启动Tomcat,从外部访问却出现404错误