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