我目前正在尝试在我的应用程序和数据库容器之间的docker链接上进行尝试。我检查了我的应用程序容器,并将这些容器链接在一起时会自动设置环境变量。
我要做的是将我的配置文件打包到jar文件中,以接收环境变量并为其设置所需的值。有什么建议或帮助吗?
这就是我在jar文件中创建配置文件以连接到MySQL的方式
database { url="jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:${MYSQL_PORT_3306_TCP_PORT}/mydb" driver="com.mysql.jdbc.Driver"}
最佳答案
更新jar内的配置文件可能会过大。
它认为您有几种选择
编辑:添加了示例
您可以将这种启动器脚本保存在docker镜像上,该镜像会在启动实际程序之前动态创建配置。
#!/bin/bash
# some default values for testing even without links to other container
MYSQL_PORT_3306_TCP_ADDR=${MYSQL_PORT_3306_TCP_ADDR:-127.0.0.1}
MYSQL_PORT_3306_TCP_PORT=${MYSQL_PORT_3306_TCP_PORT:-3306}
cat << EOF > /opt/yourprogram/dbconfig.conf
database { url="jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:${MYSQL_PORT_3306_TCP_PORT}/mydb" driver="com.mysql.jdbc.Driver"
}
EOF
scala -classpath /opt/yourprogram YourProgram
关于jar - 通过应用使用的jar文件传递环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144710/