安装docker之后,直接拉取阿里云的tomcat镜像,启动成功没有问题,但是访问地址的时候会出现404页面
问题原因
直接拉取的tomcat镜像中有一个 webapps 和一个 webapps.dist 文件夹,我们正常的访问情况是 webapps 文件夹,但是,我们直接拉取的镜像里面是空的,什么都没有,所以访问结果就是 404 了
解决方案
将 webapps 删除,然后将 webapps.dist 改名为 webapps 就ok了
docker exec 5cd6e2dc5074(前面的是我的tomcat容器id) rm -rf webapps
docker exec 5cd6e2dc5074(前面的是我的tomcat容器id) mv webapps.dist webapps

然而并不完 点击Manager App(通过manager可以发布应用war),发现403不能访问
解决问题
根据提示,需要添加一个username给tomcat,
[[email protected]_0_17_centos tomcat]# cd apache-tomcat-8.5.43-80
[[email protected]_0_17_centos apache-tomcat-8.5.43-80]# cd conf
[[email protected]_0_17_centos conf]# vim tomcat-users.xml
小插曲:你会发现你在容器中vim没有找到这样你需要执行如下两个命令
vim apt-get update
apt-get install vim
添加一个username
<user username="tomcat" password="ganquanzhong" roles="admin-gui,manager-gui"/>
重启tomcat docker restart tomcat
发现仍然无法访问Manager App
在Tomcat目录下 /conf/Catalina/localhost/ 下创建 manager.xml ,并在文件中添加以下内容:
[[email protected]_0_17_centos apache-tomcat-8.5.43-8082]# cd conf/
[[email protected]_0_17_centos conf]# cd Catalina/
[[email protected]_0_17_centos Catalina]# cd localhost/
[[email protected]_0_17_centos localhost]# vi manager.xml
[[email protected]_0_17_centos localhost]# ll
total 4
drwxr-xr-x 2 root root 4096 Aug 21 22:14 manager.xml
[[email protected]_0_17_centos localhost]#$ sudo vim manager.xml/
在manager.xml文件中写入下面内容:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
再次重启tomcat docker restart tomcat
浏览器访问点击Manager App