Docker与Tomcat:去掉项目名称进行访问
今天搭建了一个solo博客,想要去掉路径后的/solo
首先尝试了最简单的更改tomcat配置文件:server.xml
<Context path="/" docBase="/solo" debug="0" reloadbale="true"></Context>
tomcat直接无法运行
后面百度发现了一个比较好的博客:https://www.cnblogs.com/51kata/p/5276407.html
方案一:创建新镜像
把这个问题容器用docker commit提交到一个新的镜像,然后用docker run -it 基于新镜像运行一个新的容器进去改变(修复)配置文件。
再通过新的容器再提交一个新的镜像,然后在基于新的镜像重新启动容器(同最初的容器)。
这个方法是可行的,但问题是步骤多,而且提交了新的镜像,对于后续维护增加了复杂性。
尝试了一下这个办法,未果,原因未知,还有方法二,还未进行测试,这里引用进来留作以后查阅方便
因为我用了一个笨办法弄出来了
正文如下:
原理:Tomcat默认的根路径是ROOT,只要我们删除掉,并把我们自己的项目改为ROOT即可
1.进入tomcat容器
docker exec -it db30f533ee1b /bin/bash
2.进入webapps目录,删除ROOT
rm ROOT -R
3.更改项目为ROOT
mv solo.war ROOT.war
ps:这里来个坑,当时是直接 mv solo ROOT 修改的文件夹的名称,不知道是不是Tomcat解析的原因,未生效
原因未知,你们可以注意一下
4.重启Tomcat
docker restart db30f533ee1b