Maison développement back-end tutoriel php 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

Oct 12, 2023 pm 12:46 PM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的开箱即用解决方案:快速搭建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
Copier après la connexion

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
Copier après la connexion

Explication :

  • Service nginx : utilisez la commande build pour créer un conteneur basé sur Nginx, mappez le port 80 de la machine locale au port 80 du conteneur et comptez sur le service php.
  • Service php : utilisez la commande build pour créer un conteneur contenant les extensions PHP nécessaires et montez le répertoire ./src de la machine locale dans le répertoire /var/www/html du conteneur pour obtenir des mises à jour synchrones du code. .
  • Service mariadb : utilisez l'image Docker MariaDB par défaut et définissez le mot de passe ROOT sur secret.

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.

  1. nginx.dockerfile :
FROM nginx

COPY nginx.conf /etc/nginx/nginx.conf
COPY default.conf /etc/nginx/conf.d/default.conf
Copier après la connexion

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.

  1. php.dockerfile :
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
Copier après la connexion

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.

  1. nginx.conf :
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;
        }
    }
}
Copier après la connexion

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.

  1. default.conf :
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;
    }
}
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

See all articles