2016-03-03 69 views
5

运行我有一个名为perf_alarm_checker.py Python文件,这条巨蟒文件需要两个命令行参数:python perf_alarm_checker.py -t something -d something的Dockerfile看起来是这样的:如何命令行参数传递给python脚本在泊坞窗

# Base image 
FROM some base image 

ADD perf_alarm_checker.py /perf-test/ 

CMD python perf_alarm_checker.py 

如何传递两个命令行参数-t-ddocker run?我试过docker run -w /perf-test alarm-checker -t something -d something但不起作用。

回答

4

您不能按照您的意愿使用-t-d,因为那些是docker run的选项。

  • -t启动终端。
  • -d启动Docker容器作为守护进程。

要在您的Dockerfile中设置环境变量,请使用ENV命令。

ENV <key>=<value> 

查看Dockerfile reference

另一种选择是通过docker run通过环境变量:

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

docker run reference

这些环境变量可以从CMD访问。

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

使用ENTRYPOINT而不是CMD,然后你可以在docker run中使用命令行选项,就像你的例子。

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

相关问题