簡體   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