如何使用命令将参数传递给带有python入口点脚本的docker容器?
因此,我有一个docker映像,其中有一个python脚本作为入口点,我希望在容器运行时将参数传递给python脚本。我尝试使用sys.argv和sys.stdin获取参数,但两者都不起作用。我正在尝试使用以下命令运行容器:如何使用命令将参数传递给带有python入口点脚本的docker容器?,python,docker,Python,Docker,因此,我有一个docker映像,其中有一个python脚本作为入口点,我希望在容器运行时将参数传递给python脚本。我尝试使用sys.argv和sys.stdin获取参数,但两者都不起作用。我正在尝试使用以下命令运行容器: docker run image argument 这取决于入口点是如何设置的。如果它是以“exec form”设置的,那么您只需在docker run命令后传递参数,如下所示: docker run image -a -b -c 不幸的是,如果它是以“shell形式”
docker run image argument
这取决于入口点是如何设置的。如果它是以“exec form”设置的,那么您只需在
docker run
命令后传递参数,如下所示:
docker run image -a -b -c
不幸的是,如果它是以“shell形式”设置的,那么您必须重写入口点
$ docker run --entrypoint echo image hi
hi
您可以使用docker inspect
检查表单。如果入口点以/bin/sh-c
开头,则它是shell形式
参考资料:
命令行参数,docker run将附加在exec表单ENTRYPOINT中的所有元素之后,并将覆盖使用CMD指定的所有元素。
,因此,如果您想稍后添加某些内容,请使用ENTRYPOINT,如果您想稍后覆盖它,请使用CMD。快速参考:shell表单是ENTRYPOINT foo--bar
,exec表单是ENTRYPOINT[“foo”,“--bar”]