Docker启动tomcat404异常解决
1.访问ip地址+映射端口号出现404异常
2.分析原因
1. docker ps 查看当前容器运行对象ID
2.docker exec -it ID /bin/bash 进入tomcat容器
3.ls 查看当前文件目录
4.进入webapps 查看里面的内容(发现里面的内容为0),那么问题已经找到了,我们在通过IP地址+映射端口访问的时候就是访问的这个目录,但是目录下没有东西,所以访问的时候出现了404
5.进入webapps.dist文件查看(发现这个目录下的内容是tomcat容器中内容),所以我们可以把webapps目录删除,将webapps.dist改成webapps即可
6.删除webapps目录,将webapps.dist改成webapps
7.再次访问就可以成功了
3.整个实现过程代码
[root@localhost ~]# docker run -d -p 8889:8080 --name mTM02 tomcat
39be3bec9aaf2823e9e56db46f94c374543ebc6d86efa575810329cc776fea39
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39be3bec9aaf tomcat "catalina.sh run" 4 seconds ago Up 2 seconds 0.0.0.0:8889->8080/tcp mTM02
6141eafdada8 tomcat "catalina.sh run" 11 minutes ago Up 11 minutes 0.0.0.0:8888->8080/tcp mTM01
[root@localhost ~]# docker exec -it 39be3bec9aaf /bin/bash
root@39be3bec9aaf:/usr/local/tomcat# ls
BUILDING.txt LICENSE README.md RUNNING.txt conf logs temp webapps.dist
CONTRIBUTING.md NOTICE RELEASE-NOTES bin lib native-jni-lib webapps work
//进入webapps
root@39be3bec9aaf:/usr/local/tomcat# cd webapps
root@39be3bec9aaf:/usr/local/tomcat/webapps# ls -l
total 0
//退出webapps
root@39be3bec9aaf:/usr/local/tomcat/webapps# cd ..
//进入webapps.dist
root@39be3bec9aaf:/usr/local/tomcat# cd webapps.dist
root@39be3bec9aaf:/usr/local/tomcat/webapps.dist# ls
ROOT docs examples host-manager manager
root@39be3bec9aaf:/usr/local/tomcat/webapps.dist# cd ../
//删除webapps
root@39be3bec9aaf:/usr/local/tomcat# rm -rf webapps
//修改webapps.dist 为webapps
root@39be3bec9aaf:/usr/local/tomcat# mv webapps.dist webapps