2016-03-03 3 views
5

ich eine Python-Datei perf_alarm_checker.py, diese Python-Datei erfordert zwei Befehlszeilenargumente genannt haben passierenwie Kommandozeilenparameter an ein Python-Skript in Docker läuft

# Base image 
FROM some base image 

ADD perf_alarm_checker.py /perf-test/ 

CMD python perf_alarm_checker.py 

Wie Übergeben Sie die beiden Befehlszeilenargumente -t und -d an docker run? Ich habe versucht docker run -w /perf-test alarm-checker -t something -d something aber funktioniert nicht.

Antwort

4

Sie können -t und -d nicht wie gewünscht verwenden, da dies Optionen für docker run sind.

  • -t startet ein Terminal.
  • -d startet den Andock-Container als Daemon.

Verwenden Sie zum Festlegen von Umgebungsvariablen in Ihrer Dockerfile den Befehl ENV.

ENV <key>=<value> 

Siehe die Dockerfile reference.

Eine weitere Option ist, um Umgebungsvariablen durch docker run passieren:

docker run ... -e "key=value" ... 

die docker run reference See.

Auf diese Umgebungsvariablen kann von der CMD zugegriffen werden.

CMD python perf_alarm_checker.py -t $ENV1 -d $ENV2 
5

eine ENTRYPOINT statt CMD verwenden und dann können Sie Befehlszeilenoptionen in den Docker laufen wie in Ihrem Beispiel.

ENTRYPOINT ["python", "perf_alarm_checker.py"]

Verwandte Themen