如何将命令行参数传递给Python的Docker容器?
在介绍如何传递Docker容器的参数之前,我们必须了解Python命令行参数及其如何被开发人员访问。当我们希望外部程序控制Python脚本时,命令行参数非常有用。
访问Python脚本的命令行参数
第1步:创建Python脚本main.py
示例
第2步:使用参数在终端上运行
输出
将这些参数传递给Docker容器
有不同的方法可以将命令行参数传递给Docker容器。下面是一些逐步表示的方法。
使用ENTRYPOINT的Docker参数
技巧是使用entrypoints和dockerfile,将entrypoint重定向到Python文件执行。之后,只需在运行Docker容器的过程中传递所需的Python参数即可。
第1步:创建Dockerfile
示例
第2步:构建映像
示例
输出
第3步:运行容器
示例
使用Docker环境变量与ENTRYPOINT
Docker运行命令提供了一些非凡的功能,其中之一是环境变量。在这里,我们将使用这些环境变量将数据传递到Docker容器内部的Python脚本中。
第1步:创建Python脚本以访问环境变量
这次创建Python脚本与第一个示例非常相似。我们将导入“os”模块获取环境变量,而不是导入“sys”模块。 创建Python文件并粘贴以下代码。
例子
将以上文件保存为main.py
第2步:构建Dockerfile
构建Dockerfile以使用此Python代码创建新的映像。这个Dockerfile与我们之前创建的相同,只是main.py中的Python代码已更改。
例子
输出
第3步:运行容器
使用Python脚本中提到的环境变量在运行容器时。Docker run有一个“-e”标志可提及任何环境变量,我们可以一次提及多个环境变量。
例子
输出
这是我们如何通过Docker客户端的帮助将命令行参数和环境变量传递给运行在Docker守护程序上的Python容器。