【发布时间】:2018-01-31 13:08:40
【问题描述】:
FROM tomcat:8.5.27-jre8-alpine
ADD server.xml /usr/local/tomcat/conf/server.xml
ADD app.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
这是我的 Dockerfile。我希望我的自定义 server.xml 在第一次使用“catalina.sh run”启动 docker 容器时可以工作,但不是。
我必须停止容器并重新启动它,然后 tomcat reload server.xml 并且它可以工作。
有没有人遇到过这个问题或者知道这里有什么问题?
我期望在 server.xml 中的更改如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true" deployOnStartup="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="myapp" reloadable="true"></Context>
</Host>
使 myapp 成为根路径“/”。
【问题讨论】:
-
你是怎么知道tomcat不接受你的server.xml文件的?
-
@andolsizied 因为我做了一些改变,我希望在第一次启动 tomcat 时看到差异。
-
我刚刚通过修改 server.xml 中的端口进行了测试,它从容器的第一次启动开始运行良好。你能解释一下你的预期吗?
-
@andolsizied 我把server.xml的例子放在原问题里。
-
@Ben 你解决了这个问题吗?我面临同样的问题。我尝试在构建图像时复制自定义的 server.xml 然后我检查了容器文件系统。它没有改变。
标签: tomcat docker server.xml