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
原文地址:https://www.cnblogs.com/fdzang/p/9575054.html