我有一个名为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
但是没有用。
答案 0 :(得分:22)
使用ENTRYPOINT而不是CMD,然后您可以在docker run中使用命令行选项,如示例所示。
ENTRYPOINT ["python", "perf_alarm_checker.py"]
答案 1 :(得分:10)
您无法使用-t
和-d
,因为这些是docker run
的选项。
-t
启动终端。-d
启动docker容器作为守护程序。要在Dockerfile中设置环境变量,请使用ENV
命令。
ENV <key>=<value>
另一个选择是通过docker run
传递环境变量:
docker run ... -e "key=value" ...
可以从CMD
访问这些环境变量。
CMD python perf_alarm_checker.py -t $ENV1 -d $ENV2