天天看点

直接拉取阿里云的tomcat镜像,解决访问容器出现的问题

安装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

直接拉取阿里云的tomcat镜像,解决访问容器出现的问题

 然而并不完 点击Manager App(通过manager可以发布应用war),发现403不能访问

直接拉取阿里云的tomcat镜像,解决访问容器出现的问题

 解决问题

根据提示,需要添加一个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

直接拉取阿里云的tomcat镜像,解决访问容器出现的问题
直接拉取阿里云的tomcat镜像,解决访问容器出现的问题

继续阅读