Python 带docker的CLI应用程序
我正在构建一个CLI python应用程序,该应用程序将CSV文件作为参数输入和各种选项 例如: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,这样我就可以
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)。