2016-04-27 19 views
2

私はDockerを初めて利用しています。私の要件は、Dockerのカスタム設定ファイルを更新

マイドッカー

FROM jboss/wildfly 
Add application.properties /opt/jboss/ 
ADD spring_application.war /opt/jboss/wildfly/standalone/deployments/ 
ファイル(アプリケーションによって読み込まれますDB接続文字列を含む)、カスタムプロパティファイルを、 Wildflyサーバーをインストールする必要がありドッカファイルを作成 Wildflyにwarファイルを追加し、追加することです

application.properties

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

注:上記のファイル内のサーバーのホスト名、ポート、usernam E、パスワードは私が成功しWildflyおよびデプロイされたアプリケーションをインストールすることができる午前application.properties

からパラメータを読み込みますダイナミック

戦争ファイル(春の残りのアプリケーションを)する必要があります。今私は実行時にapplication.propertiesにパラメータを渡す必要があります。誰かが解決策を持っているなら、私を助けてください。

答えて

0

これは、エントリポイントスクリプトを上書きすることで実行できます。ここでは、アプリケーションを起動する前にapplication.propertiesファイルを作成するrun.shスクリプトの例を示します。

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 [email protected] 

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 
関連する問題