管道到Docker stdin,带有Python argparse拾取的参数

管道到Docker stdin,带有Python argparse拾取的参数,python,docker,dockerfile,argparse,Python,Docker,Dockerfile,Argparse,我想使用cat命令将一个文件与运行Python文件相关的参数一起导入Docker容器。运行这个Python文件的命令将在Dockerfile中提到 RUN[“python”,“myfile.py”]。 在使用Docker build-t test.构建Docker映像之后,我将调用命令cat file.txt | Docker run-I test--param1 value 我了解如何使用argparse模块在Python文件中接受参数,以下是我所了解的: parser = argparse.

我想使用cat命令将一个文件与运行Python文件相关的参数一起导入Docker容器。运行这个Python文件的命令将在Dockerfile中提到
RUN[“python”,“myfile.py”]。

在使用
Docker build-t test.
构建Docker映像之后,我将调用命令
cat file.txt | Docker run-I test--param1 value

我了解如何使用argparse模块在Python文件中接受参数,以下是我所了解的:

parser = argparse.ArgumentParser()
parser.add_argument("param1")
args = parser.parse_args()
value = args.param1
我的问题是:如何配置Dockerfile以将从命令行(param1)传递的参数路由到Python文件的参数解析器


我在这方面的发现刚刚向我展示了如何编写
catdocker运行…
命令

当前的
docker run-i test--param1 value
没有做什么?我困惑的是如何编写
run
语句:如果没有传递参数,我将编写的是:
run[“python”,“myfile.py”]
。但是,由于存在从命令行传递的参数,Dockerfile中的
RUN
语句应该写为什么?如果从命令行运行python文件,我会编写:
python myfile.py--param1 value
。这是进行更改的地方吗?在生成映像时使用Dockerfile运行。
docker运行
用于从图像在容器中运行。他们并没有真正的联系。你想影响图像还是使用图像运行一些东西?我明白了。我可能忽略了这一重要事实:使用docker run命令运行docker容器也应该运行Python文件。我对编写Dockerfile的
RUN
命令的理解是,shell命令是列表中的第一个参数,下一个参数是该shell命令的参数。因此,在我之前不知道传递到python文件的参数的情况下,如何编写
RUN
命令?如何在Dockerfile中的
RUN
命令中指定“param1”?