Maison  >  Article  >  Opération et maintenance  >  Installation Docker de Symfony : guide de déploiement en un clic

Installation Docker de Symfony : guide de déploiement en un clic

WBOY
WBOYoriginal
2023-10-27 09:34:011016parcourir

Installation Docker de Symfony : guide de déploiement en un clic

Installation Docker de Symfony : guide de déploiement en un clic

Introduction :
Symfony est un framework PHP populaire qui fournit des outils et des fonctions puissants pour aider les développeurs à créer des applications Web hautes performances et évolutives. Docker est une plate-forme de conteneurisation open source qui peut regrouper des applications et leurs environnements d'exécution dans un conteneur indépendant et portable, facilitant ainsi le déploiement et la gestion des applications. Cet article explique comment utiliser Docker pour déployer Symfony rapidement et facilement.

Première partie : Préparation
Avant de commencer à déployer Symfony, nous devons nous assurer que Docker et Docker Compose ont été installés dans notre environnement de développement. Vous pouvez trouver le tutoriel d'installation correspondant sur le site officiel de Docker.

Partie 2 : Création d'une application Symfony
Tout d'abord, nous devons créer une application Symfony. Ouvrez le terminal et entrez un répertoire où l'application est stockée, et exécutez la commande suivante :

$ docker run --rm -v $(pwd):/app composer create-project symfony/website-skeleton my_app

Cette commande créera une application Symfony nommée my_app dans le répertoire courant.

Partie 3 : Configurer le fichier Docker Compose
Créez un fichier nommé docker-compose.yml dans le répertoire racine du projet et écrivez le contenu suivant :

version: '3'
services:
  php:
    build:
      context: .
      dockerfile: docker/php/Dockerfile
    volumes:
      - .:/var/www/html
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - .:/var/www/html
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
  mysql:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: root
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

Ce fichier de configuration définit trois services : php, nginx et mysql. Le service php est construit à l'aide d'un Dockerfile. Nous devons créer un répertoire nommé docker/php dans le répertoire racine du projet, créer un fichier Dockerfile dans ce répertoire et écrire le contenu suivant :

FROM php:7.4-fpm-alpine

RUN docker-php-ext-install pdo_mysql

WORKDIR /var/www/html

Ce fichier Dockerfile définit un conteneur Docker basé. sur l'image php:7.4-fpm-alpine, avec l'extension pdo_mysql installée et le répertoire de travail défini sur /var/www/html.

Créez un fichier nommé default.conf dans le répertoire docker/nginx et écrivez le contenu suivant :

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index.php(/|$) {
        fastcgi_pass php:9000;
        fastcgi_split_path_info ^(.+.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

Ce fichier de configuration définit l'hôte virtuel Nginx et transmet les requêtes au service PHP.

Partie 4 : Démarrez l'application
Exécutez la commande suivante dans le répertoire racine du projet pour démarrer l'application :

$ docker-compose up -d

Cette commande démarrera trois conteneurs : php, nginx et mysql, et les exécutera en arrière-plan.

Partie 5 : Accédez à l'application
Accédez à http://localhost dans le navigateur pour voir la page d'accueil de l'application Symfony.

Conclusion :
En utilisant Docker, nous pouvons déployer des applications Symfony rapidement et facilement. En quelques étapes simples, vous pouvez facilement configurer un environnement de développement Symfony. La technologie de conteneurisation de Docker rend le déploiement et la gestion des applications plus simples et plus fiables, améliorant ainsi considérablement l'efficacité du développement et l'évolutivité des applications. J'espère que cet article sera utile à tout le monde et je vous souhaite un bon voyage de développement Symfony !

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