如何将命令行parameter passing给在docker中运行的python脚本
我有一个名为perf_alarm_checker.py
的python文件,这个python文件需要两个命令行参数: python perf_alarm_checker.py -t something -d something
,Dockerfile看起来像这样:
# Base image FROM some base image ADD perf_alarm_checker.py /perf-test/ CMD python perf_alarm_checker.py
如何传递两个命令行参数, -t
和-d
到docker run
? 我试图docker run -w /perf-test alarm-checker -t something -d something
但没有奏效。
你不能像你打算的那样使用-t
和-d
,因为那些是docker run
选项。
-
-t
启动一个terminal。 -
-d
启动docker容器作为守护进程。
要在Dockerfile中设置环境variables,请使用ENV
命令。
ENV <key>=<value>
请参阅Dockerfile参考 。
另一个select是通过docker run
传递环境variables:
docker run ... -e "key=value" ...
请参阅docker运行参考 。
这些环境variables可以从CMD
访问。
CMD python perf_alarm_checker.py -t $ENV1 -d $ENV2
使用一个ENTRYPOINT而不是CMD,然后你可以在Docker运行中使用命令行选项,就像你的例子。
ENTRYPOINT ["python", "perf_alarm_checker.py"]