Position actuelle: Accueil> Derniers articles> Comment déployer et gérer efficacement les applications PHP à l'aide de Docker

Comment déployer et gérer efficacement les applications PHP à l'aide de Docker

M66 2025-06-18

introduction

Avec la popularité des technologies du cloud computing et de la conteneurisation, Docker est devenu le premier outil que les développeurs à créer, déployer et gérer les applications. Docker fournit une configuration d'environnement simple et une solution de contenerisation pratique pour les applications PHP. Cet article vous emmènera dans une compréhension plus approfondie de la façon d'utiliser Docker et Docker Composer pour déployer et gérer les applications PHP, améliorer l'efficacité du développement et optimiser les processus de livraison des applications.

1. Installer Docker et Docker Compose

Tout d'abord, vous devez installer Docker dans votre environnement local. Selon votre système d'exploitation, vous pouvez accéder à la documentation officielle et suivre les étapes pour terminer l'installation: [Installation de Docker] (https://docs.docker.com/install/).

Une fois l'installation terminée, Docker Compose est ensuite installé, qui est utilisé pour aider à gérer les applications pour plusieurs conteneurs. Pour la méthode d'installation de Docker Compose, veuillez vous référer au document officiel: [Docker Compose Installation] (https://docs.docker.com/compose/install/).

2. Créez une image docker

Avant de déployer une application PHP, nous devons créer une image Docker contenant l'environnement requis. Tout d'abord, créez un fichier appelé dockerfile pour définir les étapes pour construire l'image.

Voici un exemple de dockerfile:

# Utilisez PHP 7.4 et l'image de base d'Apache à partir de PHP: 7.4-apache
<h1>Installez l&#39;extension PDO MySQL</h1>
<p>Exécutez docker-php-extal-stall PDO_MYSQL</p>
<h1>Copiez l&#39;application dans le répertoire de travail du conteneur</h1>
<p>Copie. / var / www / html</p>
<h1>Configurer Apache</h1>
<p>Copier apache.conf /etc/apache2/sites-available/000-default.conf</p>
<h1>Modifier le document de document d&#39;Apache</h1>
<p>Exécutez Sed -Ri -e! / Var / www / html! / Var / www / html / public! G &#39;/etc/apache2/sites-available/000-default.conf</p>
<h1>Définir les autorisations d&#39;accès</h1>
<p>Run chown -r www-data: www-data / var / www / html</p>
<h1>Activer le module de réécriture d&#39;Apache</h1>
<p>Exécuter A2enmod réécriture</p>
<h1>Configurer les variables d&#39;environnement</h1>
<p>Env apache_document_root = / var / www / html / public</p>
<h1>Exposez le port du conteneur</h1>
<p>Exposer 80</p>
<h1>Démarrer le serveur Apache</h1>
<p>Cmd ["apache2-Foreground"]<br>

Le dockerfile ci-dessus utilise PHP: 7.4-APACHE comme image de base et installe l'extension `PDO_MYSQL`. Via la commande `Copy`, le code d'application est copié dans le répertoire spécifié du conteneur, et Apache est configuré avec des paramètres pertinents, y compris l'activation du module` Rewrite`, la définition de `documentRoot` et la définition des autorisations de l'utilisateur` www-data 'sur tous les fichiers dans le conteneur.

3. Écrivez le fichier docker compose

Ensuite, vous devez créer un fichier Docker Compose (docker-compose.yml) qui définit et gère la configuration du conteneur.

Voici un exemple de fichier docker-compose.yml:

Version: &#39;3&#39;
<p>services:<br>
App:<br>
construire:<br>
contexte: .<br>
dockerfile: dockerfile<br>
PORTS:<br>
- "8080: 80"<br>
Volumes:<br>
-.: / var / www / html<br>
DenFend_on:<br>
- DB</p>
<p>DB:<br>
Image: MySQL: 5.7<br>
environnement:<br>
Mysql_root_password: secret<br>
Mysql_database: mydatabase<br>
Mysql_user: myuser<br>
Mysql_password: mypassword<br>

Le fichier docker-compose.yml définit deux services: «app» et `db». Le service `app" utilise l'image Docker que nous avons créée plus tôt et mappe le port 80 du conteneur au port 8080 local. De plus, il monte le répertoire actuel dans le répertoire `/ var / www / html` dans le conteneur. Le service `DB` utilise l'image officielle MySQL et définit le mot de passe pertinent pour la base de données.

4. Démarrez le conteneur

Entrez le répertoire racine du projet dans la ligne de commande et exécutez la commande suivante pour démarrer le conteneur:

$ docker-compose up -d

Utilisez le paramètre `-d` pour indiquer le conteneur en cours d'exécution d'arrière-plan.

5. Accéder à l'application

Une fois le conteneur démarré, vous pouvez afficher votre application PHP via votre navigateur pour accéder [à Http: // LocalHost: 8080] (http: // localhost: 8080). Si vous êtes configuré correctement, vous verrez la page d'accueil de l'application.

6. Gérer les conteneurs

Docker Compose vous permet de gérer et de contrôler facilement plusieurs conteneurs. Voici quelques commandes communes:

  • Démarrez le conteneur: `docker-compose up -d`
  • Stop Container: «Docker-Compose»
  • Vérifier l'état du conteneur: `Docker-Compose PS`
  • Affichage des journaux des conteneurs: `Docker-Compose Logs`

7. Résumé

En utilisant Docker et Docker Compose, vous pouvez déployer et gérer efficacement les applications PHP. Les applications d'emballage avec leurs environnements d'exploitation garantissent non seulement que les applications s'exécutent de manière cohérente dans différents environnements, mais simplifient également le processus d'extension et de livraison. J'espère que cet article vous aidera à mieux comprendre comment utiliser Docker pour déployer des applications PHP et améliorer l'efficacité du développement.