Maison > développement back-end > Tutoriel Python > Docker Hands-on : Apprenez Dockerfile, Container, Port Forwarding avec un exemple de projet Flask

Docker Hands-on : Apprenez Dockerfile, Container, Port Forwarding avec un exemple de projet Flask

Susan Sarandon
Libérer: 2025-01-14 07:36:44
original
383 Les gens l'ont consulté

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 :

  1. Créez un répertoire nommé "flask-app".
  2. Dans "flask-app", créez index.py contenant cette simple application Flask :
<code class="language-python"># 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)</code>
Copier après la connexion
  1. Également dans "flask-app", créez un Dockerfile (sans extension) avec le contenu suivant :
<code class="language-dockerfile">FROM python:3.13.1-alpine3.21
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "index.py"]</code>
Copier après la connexion
  1. Enfin, créez requirements.txt dans le répertoire "flask-app":
<code>Flask==2.3.2</code>
Copier après la connexion

Votre structure de répertoires devrait maintenant ressembler à ceci :

<code>flask-app/
├── Dockerfile
├── index.py
└── requirements.txt</code>
Copier après la connexion

Création et exécution de l'image Docker :

  1. Accédez au répertoire "flask-app" dans votre terminal.
  2. Créez l'image Docker à l'aide de cette commande :
<code class="language-bash">docker build -t flask-app .</code>
Copier après la connexion
  1. Vérifiez que l'image a été créée avec succès :
<code class="language-bash">docker images</code>
Copier après la connexion
  1. Exécutez le conteneur Docker, en mappant le port 5000 de votre machine hôte au port 5000 du conteneur :
<code class="language-bash">docker run --name my-flask-app -d -p 5000:5000 flask-app</code>
Copier après la connexion
  1. Vérifiez le conteneur en cours d'exécution :
<code class="language-bash">docker ps -a</code>
Copier après la connexion
  1. Testez l'application en accédant à http://127.0.0.1:5000 dans votre navigateur ou en utilisant curl :
<code class="language-bash">curl http://127.0.0.1:5000</code>
Copier après la connexion
  1. Pour arrêter et retirer le conteneur :
<code class="language-bash">docker container rm -f my-flask-app</code>
Copier après la connexion
  1. Pour supprimer l'image :
<code class="language-bash">docker image rm -f flask-app</code>
Copier après la connexion

Pousser vers Docker Hub :

Avant de passer à Docker Hub, créez un compte si vous n'en avez pas déjà un. Alors :

  1. Tagez l'image pour Docker Hub (remplacez omerbsezer par votre nom d'utilisateur Docker Hub) :
<code class="language-bash">docker tag flask-app omerbsezer/dev-to-flask-app:latest</code>
Copier après la connexion
  1. Poussez l'image :
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>
Copier après la connexion

Vous pouvez ensuite voir votre image sur Docker Hub. Une capture d'écran serait placée ici.

Docker Hands-on: Learn Dockerfile, Container, Port Forwarding with Sample Flask Project

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal