如何在docker for python cli应用程序中将文件作为参数发送?

如何在docker for python cli应用程序中将文件作为参数发送?,python,docker,command-line-interface,Python,Docker,Command Line Interface,我试图在docker中托管的python3 cli应用程序(使用argp arse进行解析)中以参数形式发送文件。但我有一个错误: 执行docker运行-t时打开b'input_file.txt'时出错 input_file.txt 我试过: docker run -t docker_image_name input_file.txt 我的docker文件的入口点为: ENTRYPOINT [ "python", "/src/cli_app.py" ] 您告诉python应用程序查找inpu

我试图在docker中托管的python3 cli应用程序(使用argp arse进行解析)中以参数形式发送文件。但我有一个错误:

执行docker运行-t时打开b'input_file.txt'时出错 input_file.txt

我试过:

docker run -t docker_image_name input_file.txt
我的docker文件的入口点为:

ENTRYPOINT [ "python", "/src/cli_app.py" ]

您告诉python应用程序查找
input\u file.txt
,但容器中不存在该文件。您没有按原样传递文件,只是传递了一个参数。尝试以下方法将本地文件(我假定它位于您的工作目录中)装入容器:

docker run -it -v $(pwd)/input_file.txt:/tmp/input_file.txt docker_image_name /tmp/input_file.txt
在python代码中,以环境变量$IP\u FILE\u NAME的形式访问文件名。这是考虑到容器中存在输入_file.txt。使用COPY命令将文件从用于生成的计算机复制到容器

COPY input_file.txt /src/input_file.txt

文件是否存在于Docker容器中?不,它不存在。这条线索中的第一个答案起作用了。如何将上面名为“output.txt”的程序转换后的文件放到本地目录中?
COPY input_file.txt /src/input_file.txt