0

我将连接的 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包含以下内容的配置文件 (etc/org.ops4j.datasource.mydb.cfg) 启动 karaf 并设置我的数据源:

url=jdbc:mysql://${mysql.port.3306.tcp.addr}:3306/mydb

但查看服务:karaf 中的列表,我看到:

url = jdbc:mysql://:3306/pandoradb

所以这个变量显然没有被使用。

有没有办法做我想做的事?

最好的。

4

1 回答 1

0

我终于找到了解决方案!

我不知道为什么我试图${mysql.port.3306.tcp.addr}在我的 conf 中使用该变量......使用正确的变量被正确解释:

url=jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:3306/mydb

最好的。

于 2016-03-16T12:48:43.557 回答