Maison > Article > développement back-end > Comment implémenter la conteneurisation Docker à l'aide de PHP
Avec le développement de la technologie du cloud computing, la dockérisation est devenue de plus en plus populaire. Dans le processus de Dockerisation, PHP joue également un rôle important. Dans cet article, nous explorerons comment implémenter la conteneurisation Docker à l'aide de PHP.
Tout d'abord, nous devons installer Docker et Docker Compose pour créer rapidement ce dont nous avons besoin en local environnement conteneur PHP. Si vous ne connaissez pas encore Docker et Docker Compose, vous pouvez d'abord vous référer à la documentation officielle pour apprendre.
L'étape suivante consiste à écrire le Dockerfile, où nous définissons l'environnement du conteneur. Là, vous pouvez spécifier l'image de base requise, installer les packages requis et exécuter tous les scripts d'initialisation. Voici un exemple simple de Dockerfile :
FROM php:7.4-apache RUN apt-get update && apt-get install -y git libzip-dev && docker-php-ext-install zip && docker-php-ext-enable zip && rm -rf /var/lib/apt/lists/* WORKDIR /var/www/html COPY . . RUN chown -R www-data:www-data /var/www/html EXPOSE 80
Le Dockerfile ci-dessus utilise l'image officielle PHP:7.4-apache et installe les packages Git et libzip-dev. Ensuite, nous installons l'extension zip pour PHP et activons l'extension. Enfin, copiez l'intégralité de l'application dans le conteneur et assurez-vous que les autorisations du dossier sont correctement définies. Enfin, nous exposons le port 80 du conteneur via la commande EXPOSE. Si vous avez d'autres ports qui doivent être exposés, vous pouvez également les spécifier ici.
Avec Dockerfile, nous pouvons créer des conteneurs PHP dans l'environnement local. Mais généralement, nous avons besoin de plus de conteneurs pour créer l'intégralité de l'application. Pour le moment, nous pouvons utiliser Docker Compose pour gérer plusieurs conteneurs. Voici un exemple simple de fichier Docker Compose :
version: '3.3' services: web: build: context: . dockerfile: Dockerfile ports: - "8000:80" volumes: - .:/var/www/html depends_on: - mysql mysql: image: mysql:5.7 environment: MYSQL_RANDOM_ROOT_PASSWORD: "yes" MYSQL_DATABASE: "app_db" MYSQL_USER: "app_user" MYSQL_PASSWORD: "app_password" volumes: - db_data:/var/lib/mysql volumes: db_data:
Le fichier Docker Compose ci-dessus définit deux services : Web et MySQL. Le service Web utilise le Dockerfile que nous avons écrit précédemment pour créer le conteneur et mappe le port 80 du conteneur au port local 8000 afin que nous puissions accéder au conteneur localement. De plus, nous mappons le répertoire actuel sur le répertoire /var/www/html du conteneur afin que le conteneur puisse accéder à notre code d'application. Enfin, le service web dépend également du service mysql, c'est-à-dire que si le service mysql n'est pas démarré, le service web ne peut pas être démarré.
Le service mysql utilise l'image officielle mysql:5.7 et des variables d'environnement sont spécifiées pour définir le mot de passe root et le mot de passe du compte de base de données. De plus, nous utilisons des volumes pour conserver les données MySQL.
Avec le fichier Dockerfile et Docker Compose, nous pouvons construire et démarrer le conteneur. Pour construire le conteneur, allez dans le répertoire où se trouve le fichier Docker Compose dans le terminal et exécutez la commande suivante :
docker-compose build
Cette commande construira tous les conteneurs de l'application en fonction du fichier Docker Compose , y compris les conteneurs Web et MySQL .
Ensuite, exécutez la commande suivante pour démarrer l'application :
docker-compose up
Cela démarrera tous les conteneurs et les connectera entre eux. Nous pouvons accéder à notre application en entrant http://localhost:8000 dans le navigateur.
Ce qui précède sont les étapes de base pour implémenter la conteneurisation Docker à l'aide de PHP. Cette approche constitue un moyen pratique de rendre le déploiement et la maintenance des applications plus efficaces. Grâce à Docker, nous pouvons passer rapidement de l'environnement de développement à l'environnement de production, tout en garantissant la cohérence de l'application dans les différents environnements. Si nécessaire, il peut être modifié et personnalisé pour répondre aux besoins de votre application. Bien entendu, Docker est également un outil énorme, ce qui nécessite que nous en ayons une compréhension et une maîtrise suffisantes lors de son utilisation.
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!