带有Docker和Jenkins的Tomcat数据源属性

带有Docker和Jenkins的Tomcat数据源属性,tomcat,jenkins,docker,Tomcat,Jenkins,Docker,试图找出在docker提供的Tomcat容器中配置JNDI查找的最佳方法 到目前为止,我已经想到: 将context.xml存储在目标服务器的安全位置,然后在Dockerfile中引用它们 这方面的问题: 移除可移植性 这违背了docker的目的,因为它消除了docker所坚持的“一次配置,在任何地方部署”的思想。每个开发人员都需要本地存储在机器上的context.xml,以使其正常工作 添加一个构建步骤,将jenkins维护的凭据回显到文件中,然后将其与docker compose env

试图找出在docker提供的Tomcat容器中配置JNDI查找的最佳方法

到目前为止,我已经想到:

将context.xml存储在目标服务器的安全位置,然后在Dockerfile中引用它们

这方面的问题:

  • 移除可移植性
这违背了docker的目的,因为它消除了docker所坚持的“一次配置,在任何地方部署”的思想。每个开发人员都需要本地存储在机器上的context.xml,以使其正常工作

添加一个构建步骤,将jenkins维护的凭据回显到文件中,然后将其与docker compose env.file绑定,docker compose env.file由应用程序通过属性加载(不要使用JNDI查找)。

  • 这是一个更好的解决方案,可以在Jenkins和开发人员级别进行维护。开发人员只需确保自己更新属性,或者在本地提供自己的属性
外部主机凭据

使用zookeeper或redis之类的工具提供运行时键值以查找数据库凭据

目前还不确定标准是什么,网上资源似乎到处都是


谢谢

所以解决这个问题的方法是使用外部配置源,如zookeeper或Archaius

这超出了Docker和Jenkins控制的范围,纯粹是应用程序问题