繁体   English   中英

在 Docker 中更新自定义配置文件

[英]update custom configuration file in Docker

我是Docker 的新手。 我的要求是创建一个应该安装Wildfly服务器的Wildfly文件,将 war 文件添加到Wildfly ,添加自定义属性文件(其中包含将由应用程序读取的数据库连接字符串)

我的 Docker 文件

FROM jboss/wildfly
Add application.properties /opt/jboss/
ADD spring_application.war /opt/jboss/wildfly/standalone/deployments/

应用程序属性

db_url = jdbc:mysql://**server host name**:**port**
db_username = **username**
db_password = **password**

注意:上面文件服务器中的主机名、端口、用户名、密码应该是动态的

War文件(spring rest 应用程序)将从 application.properties 读取参数

我能够成功安装Wildfly和部署的应用程序。 现在我需要在运行时在 application.properties 中传递参数。 如果有人有解决方案,请帮助我。

您可以通过覆盖入口点脚本来做到这一点。 这是在启动应用程序之前创建 application.properties 文件的示例 run.sh 脚本。

运行文件

#!/bin/bash -x
PROPERTIES=/opt/jboss/application.properties
echo "db_url = jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT" > ${PROPERTIES}
echo "db_username = ${MYSQL_USER}" >> ${PROPERTIES}
echo "db_password = ${MYSQL_PASS}" >> ${PROPERTIES}
exec /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 $@

文件

FROM jboss/wildfly
ADD run.sh /run.sh
CMD /run.sh
ADD spring_application.war /opt/jboss/wildfly/standalone/deployments/

运行它:

docker run -e MYSQL_HOST=mysqlhost -e MYSQL_USER=user -e MYSQL_PASS=pass wildflyimage

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM