Python 带docker的CLI应用程序

Python 带docker的CLI应用程序,python,docker,Python,Docker,我正在构建一个CLI python应用程序,该应用程序将CSV文件作为参数输入和各种选项 例如: rexona[-h][-v |-q][-o]文件路径 我的问题是如何将其docker化,以便在运行docker文件时可以运行上述命令并传入指定的参数 我当前的docker文件 FROM python:3 WORKDIR . COPY . . CMD ["python","app.py"] 我是否也应该安装一个操作系统映像,比如ubuntu,这样我就可以

我正在构建一个CLI python应用程序,该应用程序将CSV文件作为参数输入和各种选项

例如:
rexona[-h][-v |-q][-o]文件路径

我的问题是如何将其docker化,以便在运行docker文件时可以运行上述命令并传入指定的参数

我当前的docker文件

FROM python:3
WORKDIR .

COPY . .

CMD ["python","app.py"]

我是否也应该安装一个操作系统映像,比如ubuntu,这样我就可以运行cmd命令,或者在docker中有办法做到这一点

抱歉,我对docker还是新手。
谢谢

我也遇到了类似的塞纳里奥,我用入口点解决了它

ENTRYPOINT [ "python", "script.py" ]
运行脚本

docker run arg1 arg2 arg3...
然后在Python程序中

import sys
print(sys.argv)

您需要为例如添加入口点:

# Base image of the docker container
FROM python:3


# Copy the contents of the repo into the /app folder inside the container
COPY . /app
# Update the current working directory to the /app folder
WORKDIR /app

# Add your CLI's installation setups here using the RUN command
# If you have any pip requirements you can do that here
# RUN pip install --user -r requirements.txt

# Provdide a path to your cli apps executable
ENTRYPOINT [ "python", "script.py" ]


在大多数情况下,我会在主机Python虚拟环境中运行它。执行此操作所需的
docker
命令行选项可能比启动程序所需的实际命令行更长,容器表单需要根用户的同等权限才能运行,并且您需要安装docker才能运行它(大多数Linux/MacOS系统已经有Python)。