


Pourquoi ne puis-je pas accéder à mon application Flask après l'avoir déployée dans Docker ?
Déploiement de l'application Flask dans Docker : résolution des problèmes de connexion au serveur
Lors du déploiement d'applications Flask dans Docker, il est possible de rencontrer des problèmes de connectivité du serveur même si le conteneur semble être en cours d'exécution. Cet article examinera un problème courant et fournira une solution pour garantir que l'application est accessible depuis l'extérieur du conteneur.
Description du problème
Considérez une application nommée "perfektimprezy" qui s'exécute sur Flask, avec le source suivante :
from flask import Flask app = Flask(__name__) app.debug = True @app.route('/') def main(): return 'hi' if __name__ == '__main__': app.run()
Lorsqu'il est déployé dans un conteneur Docker, le serveur semble fonctionner, mais l'application reste inaccessible de l'extérieur du conteneur.
Configuration Docker
Le Dockerfile utilisé pour le déploiement est :
# Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz RUN tar x -f perfektimprezy.tar.gz RUN rm perfektimprezy.tar.gz # Run server EXPOSE 5000 CMD ["python", "index.py"]
Les étapes de déploiement impliquent la création de l'image et l'exécution du conteneur avec le port 5000 exposé :
>$ sudo docker build -t perfektimprezy . >$ sudo docker run -i -p 5000:5000 -d perfektimprezy
Enquête
Le conteneur semble fonctionner comme prévu, avec le serveur Flask écoute sur le port 5000 au sein du conteneur :
>$ sudo docker logs 1c50b67d45b1 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat
Cependant, les requêtes adressées à l'application depuis l'extérieur du conteneur entraînent des réponses vides :
>$ curl 127.0.0.1:5000 -v * Empty reply from server
Solution
Le problème réside dans la liaison de l'application Flask à l'interface localhost. Pour rendre l'application accessible depuis l'extérieur du conteneur, elle doit plutôt se lier à l'adresse 0.0.0.0.
Dans l'initialisation de l'application Flask, remplacez :
if __name__ == '__main__': app.run()
par :
if __name__ == '__main__': app.run(host='0.0.0.0')
Cette modification liera l'application à toutes les interfaces de l'hôte, la rendant accessible depuis l'extérieur du conteneur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

ArraySinpython, en particulier Vianumpy, arecrucialinsciciencomputingfortheirefficiency andversatity.1) ils sont les opérations de data-analyse et la machineauning.2)

Vous pouvez gérer différentes versions Python en utilisant Pyenv, Venv et Anaconda. 1) Utilisez PYENV pour gérer plusieurs versions Python: installer PYENV, définir les versions globales et locales. 2) Utilisez VENV pour créer un environnement virtuel pour isoler les dépendances du projet. 3) Utilisez Anaconda pour gérer les versions Python dans votre projet de science des données. 4) Gardez le Système Python pour les tâches au niveau du système. Grâce à ces outils et stratégies, vous pouvez gérer efficacement différentes versions de Python pour assurer le bon fonctionnement du projet.

NumpyArrayShaveSeveralAdvantages OverStandardPyThonarRays: 1) TheaReMuchfasterDuetoc-bases Implementation, 2) Ils sont économisés par le therdémor

L'impact de l'homogénéité des tableaux sur les performances est double: 1) L'homogénéité permet au compilateur d'optimiser l'accès à la mémoire et d'améliorer les performances; 2) mais limite la diversité du type, ce qui peut conduire à l'inefficacité. En bref, le choix de la bonne structure de données est crucial.

Tocraftexecutablepythonscripts, suivant les autres proches: 1) addashebangline (#! / Usr / bin / leppython3) tomakethescriptexecutable.2) setpermisessionswithchmod xyour_script.py.3) organisationwithacleardocstringanduseifname == "__ __" Main __ ".

NumpyArraysarebetterFornumericalOperations andMulti-dimensionaldata, tandis que la réalisation de la réalisation

NumpyArraysareBetterForheAVYVumericalComputing, tandis que la réalisation de points contraints de réalisation.1) NumpyArraySoFerversATACTORATIONS ajusté pour les données

CTYPESALLOWSCREATINGAndMANIPulationc-styLearRaySInpython.1) UsectypeStOinterfaceWithClibraryForPerformance.2) Createc-stylearRaysFornumericalComptations.3) PassArrayStocfunction


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.
