2015-10-29 16 views
7

Tak wiem, można przekazać zmienne środowiskowe do pojemnika Döcker użyciu -e jak:Jak przekazać właściwość System do kontenerów doków?

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

Ale muszę przekazać właściwość systemu do pojemnika Döcker, ponieważ jest to w jaki sposób uruchomić mój JAR:

java -Denviroment=dev -jar myjar.jar 

Jak mogę przekazać właściwość -D System w Dockerze? Jak:

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

@downvoters proszę wyjaśnić lub dostarczyć odpowiedzi – feco

Odpowiedz

11

Użyj zmienną przekazany do pojemnika na komendzie Java:

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

Można także skorzystać z następującej start.sh punkt_wejścia do pojemnika Docker, należy użyć składni tablicy, np:

Dockerfile:

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

Rzeczywista start.sh scenariusz:

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

Następnie można po prostu przekazać właściwości systemu Java bezpośrednio do aplikacji RUN doker argumentów opakowaniu:

docker run myDockerImage "-Dvar=var1" 
Powiązane problemy