Dockeriser une application Laravel 11

DEV - 28/06
Dockeriser une application Laravel n'est pas aussi simple qu'il y paraît, c'est pourquoi aujourd'hui je vais vous guider...

Dockeriser une application Laravel n'est pas aussi simple qu'il y paraît, c'est pourquoi aujourd'hui je vais vous guider à travers le processus de création d'une image Docker pour Laravel 11 en 2024.

Pour ce faire, nous configurerons un environnement complet à l'aide de Docker Compose, garantissant que notre application Laravel est prête à être déployée dans n'importe quel environnement.

1. Créez les fichiers de configuration nécessaires

Pour commencer, assurez-vous de créer les fichiers suivants dans votre projet :

  • ./deploy/docker-compose.yml
  • ./deploy/Dockerfile
  • ./deploy/nginx.conf
  • ./deploy/php.ini
  • ./.dockerignore

Ces fichiers contiennent la configuration nécessaire pour créer l'image Docker et gérer les conteneurs.

En utilisant ledéployerl'annuaire est une convention personnelle ; vous pouvez choisir le nom que vous préférez. Cependant, assurez-vous que les configurations présentées ci-dessous correspondent au chemin où vous avez enregistré les fichiers.

1.1 Construire le fichier Docker

LeFichier Dockerdéfinit l'environnement de développement de notre application Laravel. Dans ce cas, nous la diviserons en deux étapes : une pour construire l’application et une autre pour l’exécuter en production (pas nécessairement) comme suit :

# déployer/Dockerfile # étape 1 : étape de construction DEPUIS php:8.3-fpm-alpine en tant que build # installation des dépendances système et des extensions php RUN apk add --no-cache \ zip \ libzip-dev \ freetype \ libjpeg-turbo \ libpng \ freetype-dev \ libjpeg-turbo-dev \ libpng-dev \ nodejs \ npm \ && docker-php-ext-configure zip \ && docker-php-ext-install zip pdo pdo_mysql \ && docker-php-ext-configure gd - -with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-enable gd # installer le compositeur COPY --from=composer:2.7.6 /usr/bin/composer /usr/bin/composer WORKDIR /var/www/html # copier les fichiers nécessaires et modifier les autorisations COPY . . RUN chown -R www-data:www-data /var/www/html \ && chmod -R 775 /var/www/html/storage \ && chmod -R 775 /var/www/html/bootstrap/cache # installer php et dépendances node.js RUN composer install --no-dev --prefer-dist \ && npm install \ && npm run build RUN chown -R www-data:www-data /var/www/html/vendor \ && chmod - R 775 /var...
[Courte citation de 8% de l'article original]
Loading...