2017-10-10 83 views
0

我想在Docker容器外部使用cron作业在Docker容器内执行Python/Flask函数。Cron作业在Docker容器内执行Flask/Python函数?

有没有可能这样做?

只是做docker exec不这样做,我相信Flask可能有一些限制,允许访问函数。

或者还有更好的选择吗?

这里是main.py 一个示例代码,我想在cron作业中main.py执行getThisFunction()是在泊坞窗容器中运行

from flask import Flask 
app = Flask(__name__) 


@app.route('/') 
def hello(): 
     return "Hello World!" 

@routes.route('/getThisFunction', methods=['GET', 'POST']) 
def getThisFunction(): 
    return "foobar" 

if __name__ == '__main__': 
    app.run() 

我想一个cron作业像下面(不完全类似):

26 08 * * * docker exec c78ddbed4ad9 {some stuff to execute getThisFunction() in main.py}

+1

是的,有可能这样做。烧瓶应该与它无关。请[编辑]包含[mcve],显示您尝试的内容以及您遇到的具体问题。另见[问]。 – davidism

+0

@davidism谢谢!我只是添加了一些示例代码 – lordofwar

回答

0

可以暴露烧瓶网址到内部网络一样,你的码头工人烧瓶地址是http://10.0.0.2/myflaskapp

现在,您可以使用curl,在cronjob中致电此http页面。