Maison > Article > développement back-end > Solutions prêtes à l'emploi pour Docker Compose, Nginx et MariaDB : configurez rapidement un environnement PHP
Solutions prêtes à l'emploi pour Docker Compose, Nginx et MariaDB : configurez rapidement un environnement PHP
Présentation :
Lors du développement et du déploiement d'applications PHP, il est crucial de mettre en place un environnement fiable et simple. gérer l'environnement. Docker Compose, Nginx et MariaDB peuvent fournir une solution pour créer rapidement un environnement PHP. Cet article explique comment utiliser Docker Compose pour configurer et exécuter des conteneurs, utiliser Nginx comme serveur Web, utiliser MariaDB comme base de données et créer rapidement un environnement PHP.
1. Installez Docker et Docker Compose :
Tout d'abord, nous devons installer Docker et Docker Compose sur la machine locale. Les guides d'installation pour différents systèmes d'exploitation sont disponibles sur le site officiel de Docker. Une fois l'installation terminée, vérifiez si l'installation a réussi. Vous pouvez saisir la commande suivante dans le terminal ou l'invite de commande :
docker --version docker-compose --version
Si le numéro de version s'affiche correctement, cela signifie que Docker et Docker Compose ont été installés avec succès.
2. Créez un fichier Docker Compose :
Ensuite, nous devons créer un fichier appelé docker-compose.yml et y définir notre service et la configuration de notre conteneur.
version: '3' services: nginx: build: context: . dockerfile: nginx.dockerfile ports: - 80:80 depends_on: - php php: build: context: . dockerfile: php.dockerfile volumes: - ./src:/var/www/html mariadb: image: mariadb environment: - MYSQL_ROOT_PASSWORD=secret
Explication :
3. Créer un Dockerfile et des fichiers de configuration :
Ensuite, nous devons créer un Dockerfile et des fichiers de configuration pour fournir la configuration et les dépendances nécessaires lors de la construction de l'image.
FROM nginx COPY nginx.conf /etc/nginx/nginx.conf COPY default.conf /etc/nginx/conf.d/default.conf
Explication : Créez une nouvelle image à partir de l'image officielle Nginx, puis copiez les fichiers nginx.conf et default.conf locaux à l'emplacement correspondant du conteneur.
FROM php:7.4-fpm RUN apt-get update && apt-get install -y zlib1g-dev libzip-dev && docker-php-ext-install zip pdo_mysql COPY php.ini /usr/local/etc/php/conf.d/custom.ini
Explication : Créez une nouvelle image à partir de l'image PHP officielle, puis utilisez la commande apt-get pour installer les dépendances nécessaires et installez les extensions zip et pdo_mysql via docker-php-ext Commande -install. Enfin, copiez le fichier php.ini local dans le conteneur.
user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Explication : Il s'agit du fichier de configuration de Nginx. Configuré avec des chemins de journal par défaut, des paramètres d'événement, des paramètres http et un bloc serveur de base pour gérer les demandes et transmettre le traitement PHP au conteneur php.
server { location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Explication : Il s'agit du fichier de configuration par défaut de Nginx. Identique aux paramètres de blocage du serveur dans le fichier nginx.conf.
4. Commencez à créer et à exécuter le conteneur :
Après avoir configuré tous les fichiers de configuration, nous pouvons commencer à créer et à exécuter le conteneur. Dans un terminal ou une invite de commande, accédez au répertoire où se trouve le fichier docker-compose.yml et exécutez la commande suivante :
docker-compose up --build
Cette commande lancera le processus de création de l'image et d'exécution du conteneur. Une fois terminé, vous verrez le conteneur en cours d'exécution et l'application PHP accessible via http://localhost.
Si vous devez exécuter le conteneur en arrière-plan, vous pouvez utiliser la commande suivante :
docker-compose up -d --build
Cette commande exécutera le conteneur en mode démon.
Résumé :
Avec des solutions prêtes à l'emploi pour Docker Compose, Nginx et MariaDB, nous pouvons rapidement créer et gérer un environnement PHP. Les avantages de Docker en matière de portabilité et de conteneurisation rendent le développement et le déploiement d'applications PHP plus faciles et plus fiables. J'espère que cet article vous a été utile. Pour plus de détails sur les exemples de code, veuillez vous référer aux fichiers de configuration mentionnés dans cet article.
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!