« Symfony Docker » : différence entre les versions
| Ligne 674 : | Ligne 674 : | ||
Ce service Composer optionnel pour vous donner une '''alternative plus propre et isolée''' pour exécuter les commandes Composer, plutôt que de les exécuter directement dans le container PHP-FPM. Voici les raisons détaillées : | Ce service Composer optionnel pour vous donner une '''alternative plus propre et isolée''' pour exécuter les commandes Composer, plutôt que de les exécuter directement dans le container PHP-FPM. Voici les raisons détaillées : | ||
==== 1. '''Séparation des responsabilités''' ==== | ==== 1. '''Séparation des responsabilités''' ==== | ||
| Ligne 685 : | Ligne 683 : | ||
* '''Solution''' :<br /> | * '''Solution''' :<br /> | ||
Un service dédié à Composer est éphémère (''run-and-die'') et ne pollue pas votre environnement PHP-FPM. | Un service dédié à Composer est éphémère (''run-and-die'') et ne pollue pas votre environnement PHP-FPM. | ||
==== 2. '''Avantages concrets''' ==== | ==== 2. '''Avantages concrets''' ==== | ||
| Ligne 704 : | Ligne 699 : | ||
* Comme vous utilisez des bundles locaux (via <code>"type": "path"</code>), le service Composer monte à la fois <code>./app</code> et <code>./Bundles</code>, garantissant que les symlinks fonctionnent correctement. | * Comme vous utilisez des bundles locaux (via <code>"type": "path"</code>), le service Composer monte à la fois <code>./app</code> et <code>./Bundles</code>, garantissant que les symlinks fonctionnent correctement. | ||
==== 3. '''Comment l’utiliser ?''' ==== | ==== 3. '''Comment l’utiliser ?''' ==== | ||
| Ligne 722 : | Ligne 714 : | ||
* <code>--rm</code> : Détruit le container après l’exécution (pour éviter l’accumulation de containers stoppés). | * <code>--rm</code> : Détruit le container après l’exécution (pour éviter l’accumulation de containers stoppés). | ||
* Le <code>working_dir: /var/www</code> fait que les commandes s’exécutent directement dans le dossier du projet. | * Le <code>working_dir: /var/www</code> fait que les commandes s’exécutent directement dans le dossier du projet. | ||
==== 4. '''Alternative : Composer dans le container PHP''' ==== | ==== 4. '''Alternative : Composer dans le container PHP''' ==== | ||
| Ligne 730 : | Ligne 719 : | ||
Si vous préférez ne pas utiliser ce service optionnel, vous pouvez : 1. Utiliser le Composer inclus dans le container PHP :<br /> | Si vous préférez ne pas utiliser ce service optionnel, vous pouvez : 1. Utiliser le Composer inclus dans le container PHP :<br /> | ||
<code>bash docker-compose exec php composer install</code> 2. Ou via le script <code>entrypoint.sh</code> (qui vérifie déjà si <code>vendor/</code> existe). | <code>bash docker-compose exec php composer install</code> 2. Ou via le script <code>entrypoint.sh</code> (qui vérifie déjà si <code>vendor/</code> existe). | ||
==== 5. '''Pourquoi “optionnel” ?''' ==== | ==== 5. '''Pourquoi “optionnel” ?''' ==== | ||
| Ligne 738 : | Ligne 724 : | ||
* Beaucoup de développeurs préfèrent exécuter Composer '''en dehors de Docker''' (sur leur machine host) pour des raisons de performance (cache Composer partagé, pas de overhead Docker). | * Beaucoup de développeurs préfèrent exécuter Composer '''en dehors de Docker''' (sur leur machine host) pour des raisons de performance (cache Composer partagé, pas de overhead Docker). | ||
* Mais dans votre cas, avec des bundles locaux et une configuration spécifique, avoir un service dédié est plus fiable. | * Mais dans votre cas, avec des bundles locaux et une configuration spécifique, avoir un service dédié est plus fiable. | ||
=== En résumé : === | === En résumé : === | ||