【问题标题】:update custom configuration file in Docker更新 Docker 中的自定义配置文件
【发布时间】:2016-04-27 12:01:18
【问题描述】:

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

我的 Docker 文件

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

application.properties

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

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

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

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

【问题讨论】:

    标签: java spring docker jboss wildfly


    【解决方案1】:

    您可以通过覆盖入口点脚本来做到这一点。这是一个示例 run.sh 脚本,它在启动应用程序之前创建 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 $@
    

    Dockerfile

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2020-02-25
      • 2012-01-11
      相关资源
      最近更新 更多