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
Susan Sarandonoriginal
2025-01-14 07:36:44385parcourir

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>
  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>
  1. 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 :

  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>
  1. Vérifiez que l'image a été créée avec succès :
<code class="language-bash">docker images</code>
  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>
  1. Vérifiez le conteneur en cours d'exécution :
<code class="language-bash">docker ps -a</code>
  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>
  1. Pour arrêter et retirer le conteneur :
<code class="language-bash">docker container rm -f my-flask-app</code>
  1. Pour supprimer l'image :
<code class="language-bash">docker image rm -f flask-app</code>

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>
  1. Poussez l'image :
<code class="language-bash">docker push omerbsezer/dev-to-flask-app:latest</code>

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!

Déclaration:
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