2015-10-29 8 views
7

だから私はあなたのよう-e使用してドッキングウィンドウコンテナに環境変数を渡すことができます知っている:システムプロパティをドッキングコンテナに渡すにはどうすればいいですか?

docker run -it -e "var=var1" myDockerImage 

しかし、これは私が私のJARを実行する方法ですので、私は、ドッキングウィンドウコンテナにシステムプロパティを渡す必要があります:

java -Denviroment=dev -jar myjar.jar 

どうすればDockerで-D Systemプロパティを渡すことができますか?同様に:

docker run -it {INSERT Denviroment here} myDockerImage 
+0

@downvotersを説明してください、または提供:

#!/bin/bash export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" exec $JAVA_HOME/bin/java -jar myjar.jar [email protected] 

次に、あなただけのドッキングウィンドウの実行コンテナ引数としてアプリケーションに直接Javaシステム・プロパティを渡すことができます答え – feco

答えて

11

あなたはjavaコマンドの容器に渡された変数を使用します。

docker run -it -e "ENV=dev" myDockerImage 
java -Denvironment=$ENV -jar myjar.jar 
2

一つは、また配列構文を使用していることを確認し、ドッカーコンテナの次start.sh ENTRYPOINTを使用することができ、例えば:

Dockerfile:

... 
ENTRYPOINT ["/start.sh"] 

実際start.shスクリプト:

docker run myDockerImage "-Dvar=var1" 
関連する問題