【问题标题】:Tomcat server.xml doesn't work when first time start with docker首次使用 docker 启动时,Tomcat server.xml 不起作用
【发布时间】: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 &quot;%r&quot; %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


【解决方案1】:

您可以使用COPY server.xml /usr/local/tomcat/conf/server.xml 代替ADD server.xml /usr/local/tomcat/conf/server.xml

【讨论】:

    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2011-02-20
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    相关资源
    最近更新 更多