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.
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/).
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'extension PDO MySQL</h1> <p>Exécutez docker-php-extal-stall PDO_MYSQL</p> <h1>Copiez l'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'Apache</h1> <p>Exécutez Sed -Ri -e! / Var / www / html! / Var / www / html / public! G '/etc/apache2/sites-available/000-default.conf</p> <h1>Définir les autorisations d'accès</h1> <p>Run chown -r www-data: www-data / var / www / html</p> <h1>Activer le module de réécriture d'Apache</h1> <p>Exécuter A2enmod réécriture</p> <h1>Configurer les variables d'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.
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: '3' <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.
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.
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.
Docker Compose vous permet de gérer et de contrôler facilement plusieurs conteneurs. Voici quelques commandes communes:
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.