2016-03-16 59 views
0

我在Docker容器中使用連接的Docker mysql實例,其中包含配置了Pax JDBC數據源的Karaf 4實例。pax jdbc數據源配置變量

我的問題是,我的jdbc url取決於一些由docker設置的環境變量(因爲mysql容器IP並不總是相同的)。 IP地址變量是MYSQL_PORT_3306_TCP_ADDR

我試圖啓動karaf與-DMYSQL_PORT_3306_TCP_ADDR=XXX.XXX.XXX.XXX,並設置我的數據源與將包含一個配置文件(ETC/org.ops4j.datasource.mydb.cfg):

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

但看服務:我看到:

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

所以這個變量顯然不被使用。

有沒有辦法做我想要的?

最好。

回答

0

我終於找到了解決方案!

我不知道爲什麼,我試圖用${mysql.port.3306.tcp.addr}變量在我的conf ....使用正確的變量被正確翻譯:

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

最佳。