J'ai 2 fichiers qui dépendent les uns des autres lorsque le docker est en cours de démarrage. 1 est un fichier de fiole et un est un fichier avec quelques fonctions. Lorsque le docker démarre, seul le fichier de fonctions sera exécuté mais il importe les variables du flacon à partir du fichier. Exemple:comment lancer gunicorn sur docker
fläskfilé
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)
fichier principal
import flaskfile
#a few functions then
if__name__ == '__main__':
flaskfile.run(main_fn)
Le script fonctionne très bien sans avoir besoin d'une gunicorn.
Dockerfile
FROM python-flask
ADD *.py *.pyc /code/
ADD requirements.txt /code/
WORKDIR /code
EXPOSE 8080
CMD ["python","main_file.py"]
Dans la ligne de commande: Je ne usally: docker run -it -p 8080:8080 my_image_name
puis docker va commencer et écouter.
maintenant à utiliser gunicorn: J'ai essayé de modifier mon paramètre CMD
dans le dockerfile à
["gunicorn", "-w", "20", "-b", "127.0.0.1:8083", "main_file:flaskfile"]
mais il ne cesse de sortir. Est-ce que je n'écris pas la commande de docker gunicorn juste?
Quelle erreur observez-vous lorsque le conteneur sorties? –