我使用连接的Docker mysql实例和我的docker容器,其中包含一个配置了Pax JDBC数据源的Karaf 4实例。
我的问题是我的jdbc url依赖于docker设置的一些环境变量(因为mysql容器IP并不总是相同)。 IP地址变量为MYSQL_PORT_3306_TCP_ADDR
。
我尝试使用-DMYSQL_PORT_3306_TCP_ADDR=XXX.XXX.XXX.XXX
启动karaf并使用配置文件(etc / org.ops4j.datasource.mydb.cfg)设置我的数据源,该文件包含:
url=jdbc:mysql://${mysql.port.3306.tcp.addr}:3306/mydb
但是看看服务:karaf中的列表我看到了:
url = jdbc:mysql://:3306/pandoradb
因此显然没有使用变量。
有办法做我想做的事吗?
最佳。
答案 0 :(得分:0)
我终于找到了解决方案!
我不知道为什么我试图在我的conf中使用${mysql.port.3306.tcp.addr}
变量....使用正确的变量被正确解释:
url=jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:3306/mydb
最佳。