管道到Docker stdin,带有Python argparse拾取的参数
我想使用cat命令将一个文件与运行Python文件相关的参数一起导入Docker容器。运行这个Python文件的命令将在Dockerfile中提到管道到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.
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”?