如何将命令行参数传递到在docker中运行的python脚本 [英] how to pass command line arguments to a python script running in docker
问题描述
我有一个名为 perf_alarm_checker.py
的python文件,这个python文件需要两个命令行参数: python perf_alarm_checker.py -t something -d某些
,Dockerfile如下所示:
I have a python file called perf_alarm_checker.py
, this python file requires two command line arguments: python perf_alarm_checker.py -t something -d something
, the Dockerfile looks like this:
# Base image
FROM some base image
ADD perf_alarm_checker.py /perf-test/
CMD python perf_alarm_checker.py
如何将两个命令行参数 -t
和 -d
码头运营商?我试过 docker run -w / perf-test alarm-checker -t something -d something
但不起作用。
How to pass the two command line arguments, -t
and -d
to docker run
? I tried docker run -w /perf-test alarm-checker -t something -d something
but doesn't work.
推荐答案
您不能使用 -t
和 -d
,因为这些是 docker运行
You cannot use -t
and -d
as you intend, as those are options for docker run
.
-
-t
启动终端。 -
-d
将docker容器作为守护进程启动。 >
-t
starts a terminal.-d
starts the docker container as a daemon.
在Dockerfile中设置环境变量使用 ENV
命令。
For setting environment variables in your Dockerfile use the ENV
command.
ENV <key>=<value>
请参阅 Dockerfile参考。
另一个选项是通过 docker run
:
docker run ... -e "key=value" ...
请参阅 docker运行参考。
这些环境变量可以从 CMD
。
CMD python perf_alarm_checker.py -t $ENV1 -d $ENV2
这篇关于如何将命令行参数传递到在docker中运行的python脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!