Maison  >  Article  >  développement back-end  >  Comment utiliser la technologie des conteneurs pour la gestion de l'environnement dans le développement PHP

Comment utiliser la technologie des conteneurs pour la gestion de l'environnement dans le développement PHP

WBOY
WBOYoriginal
2023-06-25 10:53:331373parcourir

Dans le développement PHP moderne, l'utilisation de la technologie des conteneurs pour la gestion de l'environnement est devenue de plus en plus courante. Cet article présentera comment utiliser la technologie de conteneur Docker pour créer, configurer et gérer l'environnement de développement de projets PHP.

1. Pourquoi utiliser la technologie des conteneurs pour la gestion de l'environnement

Dans le développement PHP traditionnel, afin de créer un environnement adapté au projet en cours, une grande quantité de configuration et d'installation est nécessaire. Si ces configurations sont regroupées de manière uniforme, la portabilité, la cohérence et la fiabilité pendant le développement peuvent être améliorées. Dans ce cas, le recours à la technologie des conteneurs devient un choix inévitable.

Plus précisément, les avantages de l'utilisation de la technologie des conteneurs sont les suivants :

  1. Cohérence de l'environnement : l'utilisation de conteneurs peut garantir que l'environnement est cohérent sur différentes machines et entre différents développeurs.
  2. Très portable : les conteneurs peuvent fonctionner dans n'importe quel environnement prenant en charge la technologie des conteneurs sans reconfigurer l'environnement.
  3. Meilleure isolation : les conteneurs offrent une isolation similaire à la virtualisation, ce qui peut garantir que l'interaction entre les différentes parties du projet est minimisée.

2. Utilisez Docker pour créer un environnement de développement PHP

Docker est l'une des technologies de conteneurs les plus populaires à l'heure actuelle, cet article utilisera donc Docker pour créer un environnement de développement PHP.

  1. Installer Docker

Tout d'abord, vous devez installer Docker sur votre environnement local. Vous pouvez télécharger et installer la version Docker adaptée à votre machine depuis le site officiel.

  1. Créer Dockerfile

Créez un fichier nommé Dockerfile dans le répertoire racine du projet et écrivez le contenu du fichier. Dockerfile est un fichier de script utilisé par Docker pour créer des images. Le contenu spécifique du Dockerfile est le suivant :

FROM php:7.4-fpm

# Install dependencies
RUN apt-get update && apt-get install -y 
    git 
    libzip-dev 
    unzip

# Install PHP extensions
RUN docker-php-ext-install zip pdo_mysql

# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Set working directory
WORKDIR /app

Le sens de ce Dockerfile est de construire une nouvelle image à partir de l'image de base PHP existante. Installez ensuite les dépendances nécessaires telles que git, libzip et unzip ; installez les extensions PHP zip et pdo_mysql et enfin installez Composer ;

Notez que la commande COPY est utilisée pour copier les fichiers de l'image du compositeur vers la nouvelle image, ce qui garantit que l'outil Composer peut être utilisé normalement dans la nouvelle image.

  1. Créer une image Docker

Ensuite, vous devez utiliser Dockerfile pour créer une image Docker. Entrez le répertoire racine du projet dans le terminal, puis exécutez la commande :

docker build -t project-name .

où nom-projet est le nom de l'image Docker à créer, et le dernier "." indique le répertoire où se trouve le fichier Dockerfile. Cette commande créera une nouvelle image Docker pour le projet.

  1. Exécutez le conteneur

Utilisez la commande suivante pour démarrer le conteneur de la nouvelle image :

docker run -p 8000:8000 -v "$(pwd)":/app -it project-name

où "8000" est le numéro de port à exposer par le conteneur. Dans cet exemple, mappez le port 8000 du conteneur. le port 8000 de l'hôte. De plus, le paramètre -v mappe le répertoire actuel au répertoire /app dans le conteneur afin que le code PHP puisse s'exécuter dans le conteneur. Enfin, « project-name » représente le nom de l’image Docker à utiliser.

3. Utilisez Docker Compose pour gérer des projets PHP complexes

Pour les projets PHP complexes, vous devrez peut-être utiliser plusieurs services (tels que le stockage de données, le cache, le serveur Web, etc.). À l’heure actuelle, vous pouvez utiliser Docker Compose pour gérer ces services.

Docker Compose est un outil pour Docker qui peut être utilisé pour gérer plusieurs conteneurs Docker. À l'aide de Docker Compose, vous pouvez créer et configurer plusieurs conteneurs, les lier entre eux et gérer certaines tâches de déploiement courantes (telles que les volumes de données et le mappage de ports, etc.).

  1. Préparez le fichier docker-compose.yml

Docker Compose s'appuie sur un fichier de configuration nommé docker-compose.yml. Créez ce fichier dans le répertoire racine de votre projet PHP et définissez le conteneur à y créer. Voici un exemple :

version: '3.4'

services:
  php:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: app
      MYSQL_USER: app
      MYSQL_PASSWORD: secret
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Ce fichier définit deux services : php et db.

Le service php utilise le Dockerfile créé précédemment pour créer une nouvelle image, puis mappe le port 8000 du conteneur au port 8000 de l'hôte et mappe le répertoire actuel au répertoire /app dans le conteneur. Le service dépend également du service db.

Le service db utilise l'image officielle de MySQL 5.7 et définit certaines variables d'environnement pour définir le mot de passe root de MySQL, le nom de la base de données, l'utilisateur et d'autres informations. Un volume de données sera également créé dans le conteneur MySQL en tant que stockage persistant.

Notez que ce fichier définit également un volume nommé db_data. Les volumes sont utilisés pour enregistrer des données dans un conteneur afin qu'elles puissent être partagées entre différents conteneurs. Les volumes fournissent également des solutions de stockage persistantes.

  1. Exécuter plusieurs conteneurs

Après avoir écrit le fichier docker-compose.yml, vous pouvez utiliser la commande suivante pour créer et démarrer tous les conteneurs définis dans le projet PHP :

docker-compose up -d

Cette commande exécutera tous les services définis en arrière-plan .

Vous pouvez vérifier tous les conteneurs exécutés en exécutant la commande suivante :

docker ps
  1. Arrêter et supprimer les conteneurs

Lorsque vous devez arrêter tous les services et conteneurs, vous pouvez exécuter la commande suivante :

docker-compose down

Cette commande s'arrêtera tous les conteneurs en cours d'exécution et supprimez tous les services. Si vous devez arrêter et supprimer un service spécifique, vous pouvez exécuter la commande suivante :

docker-compose stop service-name
docker-compose rm service-name

où service-name est le nom du service à arrêter et à supprimer.

Cet article présente les concepts et les étapes de base de l'utilisation de Docker pour créer et gérer un environnement de développement PHP. L'utilisation de la technologie des conteneurs peut améliorer la cohérence, la portabilité et la fiabilité du processus de développement et jouer un rôle important dans le développement de projets PHP.

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