


Docker Hands-on : Apprenez Dockerfile, Container, Port Forwarding avec un exemple de projet Flask
Ce tutoriel montre la création et le déploiement d'une application Flask simple à l'aide de Docker. Nous aborderons la création d'un Dockerfile, la création de l'image, l'exécution d'un conteneur et même la transmission de l'image vers Docker Hub. Pour ceux qui ne connaissent pas les principes fondamentaux de Docker, consultez cet article précédent :
Commençons par un exemple pratique :
Configuration du projet :
- Créez un répertoire nommé "flask-app".
- Dans "flask-app", créez
index.py
contenant cette simple application Flask :
# index.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run(host="0.0.0.0", port=int("5000"), debug=True)
- Également dans "flask-app", créez un
Dockerfile
(sans extension) avec le contenu suivant :
FROM python:3.13.1-alpine3.21 WORKDIR /app COPY . /app RUN pip install -r requirements.txt EXPOSE 5000 CMD ["python", "index.py"]
- Enfin, créez
requirements.txt
dans le répertoire "flask-app":
<code>Flask==2.3.2</code>
Votre structure de répertoires devrait maintenant ressembler à ceci :
<code>flask-app/ ├── Dockerfile ├── index.py └── requirements.txt</code>
Création et exécution de l'image Docker :
- Accédez au répertoire "flask-app" dans votre terminal.
- Créez l'image Docker à l'aide de cette commande :
docker build -t flask-app .
- Vérifiez que l'image a été créée avec succès :
docker images
- Exécutez le conteneur Docker, en mappant le port 5000 de votre machine hôte au port 5000 du conteneur :
docker run --name my-flask-app -d -p 5000:5000 flask-app
- Vérifiez le conteneur en cours d'exécution :
docker ps -a
- Testez l'application en accédant à
http://127.0.0.1:5000
dans votre navigateur ou en utilisantcurl
:
curl http://127.0.0.1:5000
- Pour arrêter et retirer le conteneur :
docker container rm -f my-flask-app
- Pour supprimer l'image :
docker image rm -f flask-app
Pousser vers Docker Hub :
Avant de passer à Docker Hub, créez un compte si vous n'en avez pas déjà un. Alors :
- Tagez l'image pour Docker Hub (remplacez
omerbsezer
par votre nom d'utilisateur Docker Hub) :
docker tag flask-app omerbsezer/dev-to-flask-app:latest
- Poussez l'image :
docker push omerbsezer/dev-to-flask-app:latest
Vous pouvez ensuite voir votre image sur Docker Hub. Une capture d'écran serait placée ici.
Conclusion :
Cet exemple pratique illustre un workflow complet pour conteneuriser une application Python simple avec Docker. Pour plus de didacticiels Docker, de contenu AWS, Kubernetes, Linux, DevOps, Ansible, Machine Learning, Generative AI et SAAS, suivez ces liens :
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!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Fastapi ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...
