2017-10-10 82 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頁面。