Docker 和单个 python 文件

Docker and single python file

我有一个 python 程序,它使用 raw_input 来捕获给定用户的输入,我还使用 while 循环来确保我确实获得了所需的输入。

这是它的样子

while True:
     marathon_host = input("Enter the DNS hostname or IP of your Marathon Instance:")

     if not marathon_host:
         print("Please enter a value!")
         continue
     else:
         break 

我有几个这样设置的输入变量。我现在正在尝试 docker 化整个 .py。我想为这个程序创建一个 docker 图像,但我不知道如何通过 docker/python 计算输入变量。

如能提供有关如何开始或在何处阅读更多有关如何执行此操作的帮助,我们将不胜感激。我希望能够指定 docker 反映这些输入变量的环境,就好像用户实际上正在通过提示一样。

这是非常开放的,因为有多种解决方案可用。一种方法是重定向标准输入:

sys.stdin = open('path_to_input_file')
raw_input('Prompt: ')

您也可以传入一个序列化的应答文件(json 或 yaml 很容易支持),并在不提示是否提供文件的情况下相应地设置输入值,这是我推荐的方法。