风中过客
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!
/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
所以说 ,我这里就算COPY 到了/usr/local/tomcat/webapps/下面,但是实际生效的目录而是
/var/lib/tomcat7/webapps/
问题:
1.既然是/var/lib/tomcat7/webapps生效的,那么有没有办法让他启动的时候把/usr/local/tomcat/webapps/jpress.war 解压到/var/lib/tomcat7/webapps下?
2. exec 到容器中,没有安装编辑器 ,导致不能修改tomcat的配置文件,如何安装编辑器。
3. 如何在build镜像的时候,指定tomcat的配置文件,这样就不用exec到容器中修改配置文件了。
COPY jpress.war /var/lib/tomcat7/webapps
后面加一个斜杠/就好了
COPY jpress.war /var/lib/tomcat7/webapps/
第一个docker化的java应用
68481 学习 · 179 问题
相似问题