ausführen Ich habe 2 Dateien, die voneinander abhängen, wenn Andockfenster gestartet wird. 1 ist eine Flaschendatei und eine ist eine Datei mit ein paar Funktionen. Wenn docker gestartet wird, wird nur die Datei functions ausgeführt, importiert jedoch flask-Variablen aus der Flask-Datei. Beispiel:Wie Gunicorn auf Docker
Flaskfile
import flask
from flask import Flask, request
import json
_flask = Flask(__name__)
@_flask.route('/', methods = ['POST'])
def flask_main():
s = str(request.form['abc'])
ind = global_fn_main(param1,param2,param3)
return ind
def run(fn_main):
global global_fn_main
global_fn_main = fn_main
_flask.run(debug = False, port = 8080, host = '0.0.0.0', threaded = True)
Hauptdatei
import flaskfile
#a few functions then
if__name__ == '__main__':
flaskfile.run(main_fn)
Das Skript läuft gut, ohne einen gunicorn benötigen.
Dockerfile
FROM python-flask
ADD *.py *.pyc /code/
ADD requirements.txt /code/
WORKDIR /code
EXPOSE 8080
CMD ["python","main_file.py"]
In der Befehlszeile: i do usally: docker run -it -p 8080:8080 my_image_name
und dann wird Docker starten und hören.
Jetzt verwenden gunicorn: Ich versuchte, meine CMD
Parameter in der dockerfile zu
["gunicorn", "-w", "20", "-b", "127.0.0.1:8083", "main_file:flaskfile"]
aber es hält verlässt gerade zu ändern. Schreib ich nicht den Gunicorn Befehl des Hafenarbeiters richtig?
Welche Fehler sehen Sie, wenn der Behälter Ausgänge? –