Cron作业在docker容器中执行Flask / Python函数?

时间:2017-10-10 23:11:03

标签: python docker flask cron

我想在docker容器外部使用cron作业来执行docker容器中的Python / Flask功能。

有可能这样做吗?

仅仅执行docker exec不会这样做,我相信Flask可能在允许访问函数方面存在一些限制。

或者有更好的选择吗?

以下是main.py中的示例代码 我希望cron作业在docker容器中运行的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 个答案:

答案 0 :(得分:0)

您可以将烧瓶网址暴露给内部网络,例如您的码头工具烧瓶地址为http://10.0.0.2/myflaskapp

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