Docker部署tomcat出现404错误

docker下载最新的tomcat启动,映射端口并启动:

docker run -p 8888:8080 tomcat

 启动以后,浏览器输入http//:ip:8888 ,我的ip是192.168.1.106,浏览器输入http:192.168.1.106:8888,浏览器会报错404

HTTP Status 404 – Not Found

在docker的tomcat镜像文件地址找到说明,现在默认的tomcat镜像,都不再提供admin界面了,需要自己修改。

https://hub.docker.com/_/tomcat

Note: as of docker-library/tomcat#181, the upstream-provided (example) webapps are not enabled by default, per upstream's security recommendations, but are still available under the webapps.dist folder within the image to make them easier to re-enable.

修改方式如下:

启动tomcat

docker run -p 8888:8080 tomcat

查看docker container id

root@04e013d4416f:/usr/local/tomcat/webapps# [root@localhost local]# docker ps
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS              PORTS                    NAMES
fb98132b4582        tomcat   "catalina.sh run"   6 minutes ago       Up 6 minutes        0.0.0.0:8888->8080/tcp   wizardly_proskuriakova 

进入docker container

[root@localhost local]# docker exec -it fb98132b4582 /bash/bin 

可以看到tomcat的根目录下有两个文件夹webapps.dist 和webapps,webapps现在是空,把webapps删掉,把webapps.dist 拷贝一份,改名字为webapps。

[root@localhost local]# docker exec -it fb98132b4582 /bin/bash
root@fb98132b4582:/usr/local/tomcat# pwd
/usr/local/tomcat
root@fb98132b4582:/usr/local/tomcat# ls
BUILDING.txt  CONTRIBUTING.md  LICENSE    NOTICE    README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  include  lib    logs  native-jni-lib  temp  webapps  webapps.dist  work
root@fb98132b4582:/usr/local/tomcat# rm -R webapps
root@fb98132b4582:/usr/local/tomcat# cp -R webapps.dist webapps
root@fb98132b4582:/usr/local/tomcat# 
 

 这时候查看webapps,就会发现熟悉的内容了

root@fb98132b4582:/usr/local/tomcat# cd webapps
root@fb98132b4582:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
root@fb98132b4582:/usr/local/tomcat/webapps# 

这时候用浏览器登陆 http://192.168.1.106:8888

就可以看到admin界面了

Docker中挂载Tomcat部署项目出现404错误可能归因于以下几个原因: 1. 项目路径配置错误:确保Tomcat容器中的项目挂载路径与Docker主机相符。你可以使用`docker-compose`或`docker run`命令中的`-v`选项来进行挂载。例如:`docker-compose.yml`文件中的挂载配置: ```yaml services: tomcat: image: tomcat:latest volumes: - /path/to/local/webapp:/usr/local/tomcat/webapps/ROOT ``` 确保`/path/to/local/webapp`是本地主机上项目的绝对路径。如果路径不正确,则可能导致Tomcat无法找到项目文件,从而出现404错误。 2. Tomcat配置错误:检查Tomcat的配置文件(例如`server.xml`)中是否正确配置了项目部署路径。确保项目的`<Context>`配置与挂载路径匹配。例如: ```xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/usr/local/tomcat/webapps/ROOT" reloadable="true"/> </Host> ``` 确保`docBase`路径与挂载路径相同。这将确保Tomcat能够正确访问项目文件。 3. 缺少项目文件:确保挂载路径中存在项目文件。如果项目文件缺失,Tomcat将无法找到文件而返回404错误。检查项目文件是否正确部署到了挂载路径下。 4. 项目文件权限问题:在挂载项目文件,确保文件和文件夹的权限设置正确。确保Tomcat用户(通常是`tomcat`或`root`)具有访问挂载路径下项目文件的权限。你可以使用`chmod`命令来修改文件权限,例如:`chmod -R 755 /path/to/local/webapp`。 总结: 要解决Docker中挂载Tomcat部署项目访问404错误,确保挂载路径正确、Tomcat配置正确、项目文件存在以及文件权限设置正确。通过核对这些问题,你应该能够成功解决404错误并成功访问Tomcat部署项目
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值