Maison >développement back-end >tutoriel php >Dockeriser une application PHP simple

Dockeriser une application PHP simple

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 06:34:06607parcourir

Dockerizing a Simple PHP Application

La conteneurisation change la donne pour les développeurs qui recherchent cohérence et portabilité dans différents environnements. Dans cet article de blog, nous présenterons un exemple pratique de Dockerisation d'une application PHP simple. À la fin de ce guide, vous disposerez d'un conteneur Docker fonctionnel servant une application PHP de base.

Aperçu

Nous allons conteneuriser une application PHP de base à l'aide de Docker. Voici le code PHP que nous utiliserons :

<?php
// index.php
echo "Hello Docker!";
?>

Le Dockerfile que nous allons créer construira une image en utilisant PHP 8.2 et servira cette application PHP sur le port 8000.

Guide étape par étape

Étape 1 : Créer le dossier d'application

Commencez par créer un nouveau dossier pour votre projet. Pour cet exemple, nommons-le php-docker-app. Dans ce dossier, ajoutez deux fichiers :

  • index.php - Contient le code de l'application PHP.
  • Dockerfile - Définit la configuration du conteneur.

Étape 2 : écrire le fichier Docker

Voici le contenu du Dockerfile :

# Use the official PHP image
FROM php:8.2-cli

# Set the working directory
WORKDIR /usr/src/app

# Copy the PHP file into the container
COPY index.php .

# Expose port 80 (optional for CLI-based serving, not necessary in this example)
EXPOSE 80

# Command to run the PHP server on port 8000
CMD ["php", "-S", "0.0.0.0:8000", "index.php"]

Étape 3 : Créer l'image Docker

Ouvrez un terminal et accédez au dossier contenant votre Dockerfile et index.php. Exécutez la commande suivante pour créer votre image Docker :

docker build -t php-helloworld .

Cette commande effectue les opérations suivantes :

  • Utilise le Dockerfile pour créer une image.
  • Marque l'image avec le nom php-helloworld.

Étape 4 : Exécuter le conteneur Docker

Après avoir construit avec succès l'image, exécutez un conteneur à partir de celle-ci à l'aide de la commande :

docker run -p 8000:8000 php-helloworld

Voici ce qui se passe :

  • L'indicateur -p mappe le port 8000 de votre machine hôte au port 8000 dans le conteneur.
  • Docker exécute l'image php-helloworld et démarre un serveur PHP sur le port 8000.

Étape 5 : accédez à votre application

Ouvrez un navigateur ou utilisez un outil comme curl pour accéder à :

http://127.0.0.1:8000/

Vous devriez voir le résultat suivant :

<?php
// index.php
echo "Hello Docker!";
?>

Comment ça marche

  • Image de base : l'image de base php:8.2-cli fournit un environnement PHP CLI prêt à l'emploi.
  • Répertoire de travail : l'instruction WORKDIR /usr/src/app définit le répertoire de travail à l'intérieur du conteneur.
  • Copie de fichier : La COPIE index.php . La commande copie le script PHP de l'hôte vers le conteneur.
  • Exécution de la commande : la directive CMD démarre un serveur PHP qui sert le fichier index.php.

Avantages de la dockerisation des applications PHP

  • Cohérence : votre application se comporte de la même manière dans différents environnements.
  • Portabilité : l'application peut s'exécuter partout où Docker est installé.
  • Facilité d'installation : pas besoin d'installer PHP ou de configurer les serveurs localement.

Prochaines étapes

Ce guide a démontré les bases de la Dockerisation d'une application PHP simple. Pour aller plus loin :

  • Ajoutez un serveur Web comme Apache ou Nginx pour gérer des scénarios plus complexes.
  • Créez un fichier docker-compose.yml pour gérer les configurations multi-conteneurs.
  • Intégrez des services de base de données ou d'autres dépendances.

Conclusion

En quelques étapes seulement, vous avez réussi à dockeriser une application PHP. Cette approche est parfaite pour créer des environnements de développement isolés et reproductibles. Essayez-le pour des projets plus complexes et voyez comment Docker rationalise votre flux de travail !

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