我已经看到了一些答案,但据我所知,没有人做我想做的事情。 Example
如果我的代码能够接受这样的其他调用:
app.py -hist
app.py -hist -yearIni 2018 -yearEnd 2019 -station 12341234
app.py -hist -dateIni 20-2-2018 -dateEnd 20-2-2019
根据接收到的参数,它会进行API调用或其他调用。
我现在想要的是将这种行为进行docker化。到目前为止,我只找到了Docker ARG和CMD作为选项,但是如果我正确理解它们的话,它们将不允许传递文件(例如yaml)来指定将出现的参数。取而代之的是,您被迫在Dockerfile或其他地方以某种方式硬编码代码,参数的名称和(可能的)值。
由于现在我已经有4-5种不同的组合,并且它们将来可能会增长,所以我想传递一个file.yaml(或json或其他格式),在其中定义可以使用的参数,然后我的python代码将决定这些参数是否有效,并据此采取行动。
可能的Yaml“模式”的伪代码:
predictions:
city: "//str"
hist:
yearIni: "//str"
yearEnd: "//str"
dateIni: "//str"
dateEnd: "//str"
station: "//str"
有没有办法做到这一点?要将动态参数传递给可以单独使用此行为的python应用程序,但现在在docker内部?
答案 0 :(得分:2)
这是一个如何从cli向docker-compose传递参数的示例
docker-compose build --build-arg app_env=production
docker-compose up