centos下tomcat的webapps目录不对,我的webapps目录在/var/lib/tomcat7/webapps

来源:7-1 制作自己的镜像

风中过客

2017-05-02 03:05

root@31a8f80b9708:/var/lib/tomcat7/webapps# ls

ROOT

root@31a8f80b9708:/var/lib/tomcat7/webapps# cd /usr/local/tomcat/webapps 

bash: cd: /usr/local/tomcat/webapps: Not a directory


提示不是目录,再查看大小,原来是把jpress.war复制到该目录并命名成了webapps.

tomcat已启动成功,浏览器打开的默认页面是ROOT/index.html .输入localhost:8080/jpress

提示找不到(当然找不到,并没有在正确的webapps下)


find / -name "ROOT" ,找到ROOT/index.html ,在 /var/lib/tomcat7/webapps下

docker rmi -f jpress后,重新编写Dockerfile,COPY jpress.war /var/lib/tomcat7/webapps ,

docker exec -it xxx bash 进去后,果然/var/lib/tomcat7/webapps下,jpress.war已被解包成jpress目录。

现象:由于这里tomcat的默认目录不知为何指向了ROOT,因此直接localhost:8080/jpress ,访问的是ROOT/jpress 。(我通过在ROOT目录下touch a.html,然后localhost:8080/a.html,访问不报404,说明默认目录的确是ROOT)。

问题; 由于vim/vi/nano都提示没有该命令,无法修改server.xml,导致无法访问到jpress!

写回答 关注

3回答

  • 桂圆
    2017-07-16 22:35:09

    /var/lib/tomcat7/webapps下,jpress.war已被解包成jpress目录。是说dockerfile拷贝到容器的那个目录中后,会被自动解压成jpress文件夹吗

    我看我的目录中没有,为何

    from hub.c.163.com/library/tomcat

    # 将war包拷贝到镜像的网站目录下

    COPY jpress.war /usr/local/tomcat/webapps/

    在容器中查找

    root@e0eb49afa8f6:/usr/local/tomcat/webapps# ls

    ROOT  docs  examples  host-manager  jpress.war  manager


  • 风中过客
    2017-05-06 14:40:41

    所以说 ,我这里就算COPY 到了/usr/local/tomcat/webapps/下面,但是实际生效的目录而是

    /var/lib/tomcat7/webapps/


    问题:

    1. 1.既然是/var/lib/tomcat7/webapps生效的,那么有没有办法让他启动的时候把/usr/local/tomcat/webapps/jpress.war 解压到/var/lib/tomcat7/webapps下?

    2. 2. exec 到容器中,没有安装编辑器 ,导致不能修改tomcat的配置文件,如何安装编辑器。

    3. 3. 如何在build镜像的时候,指定tomcat的配置文件,这样就不用exec到容器中修改配置文件了。

  • MrQC
    2017-05-06 10:53:35

    COPY jpress.war /var/lib/tomcat7/webapps

    后面加一个斜杠/就好了

    COPY jpress.war /var/lib/tomcat7/webapps/

    风中过客 回复风中过客

    root@dcb0d2722c9d:/var/lib/tomcat7/webapps# ls -l total 4 drwxr-xr-x 3 root root 4096 Mar 15 2016 ROOT

    2017-05-06 14:35:40

    共 5 条回复 >

第一个docker化的java应用

逐步学习docker相关知识,制作第一个docker化的java应用

68481 学习 · 179 问题

查看课程

相似问题