我已经在Docker上启动了6个Tomcat容器。
我不想进入各个容器来为每个容器在jvmRoute
中设置server.xml
属性。
如何以编程方式设置jvmRoute
,如果要设置jvmRoute
属性为Tomcat1 -> Tomcat9
(或使用其他约定)
答案 0 :(得分:1)
我想从上面的评论中总结一下。您可以使用传递给 docker 容器的环境变量从外部控制 jvmRoute 属性。实际上,我在 Kubernetes 中遇到了同样的问题,找到了以下解决方案:
在 server.xml 中,我确实在 Engine 标签上设置了以下属性:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="${node_routing_suffix}">
然后,在 setenv.sh 脚本中我添加了这个:
CATALINA_OPTS="${CATALINA_OPTS} -Dnode_routing_suffix=${NODE_ROUTING_SUFFIX}"
现在我可以将环境变量 NODE_ROUTING_SUFFIX 传递给我的容器来设置 jvmRoute。