« Symfony Docker » : différence entre les versions
| Ligne 230 : | Ligne 230 : | ||
== '''Symfony cache et composer cache avec Docker''' : == | == '''Symfony cache et composer cache avec Docker''' : == | ||
=== '''1. Rôle du dossier <code>/var/cache</code> dans Symfony''' === | === '''1. Rôle du dossier <code>/var/cache</code> dans Symfony''' === | ||
| Ligne 240 : | Ligne 237 : | ||
'''Problème avec Docker :'''<br /> | '''Problème avec Docker :'''<br /> | ||
Par défaut, ce cache est régénéré à chaque démarrage du conteneur → '''ralentissements''' (surtout en dev). | Par défaut, ce cache est régénéré à chaque démarrage du conteneur → '''ralentissements''' (surtout en dev). | ||
=== '''2. Stratégies pour optimiser le cache avec Docker''' === | === '''2. Stratégies pour optimiser le cache avec Docker''' === | ||
| Ligne 256 : | Ligne 250 : | ||
'''Inconvénients :''' - Peut causer des problèmes de permissions (solved avec <code>chmod</code> ou <code>entrypoint.sh</code>). | '''Inconvénients :''' - Peut causer des problèmes de permissions (solved avec <code>chmod</code> ou <code>entrypoint.sh</code>). | ||
==== '''B. Utiliser un volume Docker nommé (prod + dev)''' ==== | ==== '''B. Utiliser un volume Docker nommé (prod + dev)''' ==== | ||
| Ligne 278 : | Ligne 269 : | ||
exec "$@"</syntaxhighlight> | exec "$@"</syntaxhighlight> | ||
==== '''C. Cache warming en production''' ==== | ==== '''C. Cache warming en production''' ==== | ||
| Ligne 293 : | Ligne 282 : | ||
COPY --from=builder /app /var/www/html | COPY --from=builder /app /var/www/html | ||
RUN php bin/console cache:warmup # ⚡ Pré-chauffe le cache</syntaxhighlight> | RUN php bin/console cache:warmup # ⚡ Pré-chauffe le cache</syntaxhighlight> | ||
=== '''3. Gestion des environnements''' === | === '''3. Gestion des environnements''' === | ||
| Ligne 312 : | Ligne 299 : | ||
| Cache éphémère (pas de montage) | | Cache éphémère (pas de montage) | ||
|} | |} | ||
=== '''4. Exemple complet (docker-compose.yml)''' === | === '''4. Exemple complet (docker-compose.yml)''' === | ||
| Ligne 334 : | Ligne 318 : | ||
APP_ENV: dev | APP_ENV: dev | ||
COMPOSER_CACHE_DIR: /tmp/composer</syntaxhighlight> | COMPOSER_CACHE_DIR: /tmp/composer</syntaxhighlight> | ||
=== '''5. Bonnes pratiques''' === | === '''5. Bonnes pratiques''' === | ||
| Ligne 344 : | Ligne 325 : | ||
<li><p>'''Permissions''' : Résolvez-les via <code>entrypoint.sh</code> ou <code>docker-compose</code> :</p> | <li><p>'''Permissions''' : Résolvez-les via <code>entrypoint.sh</code> ou <code>docker-compose</code> :</p> | ||
<syntaxhighlight lang="yaml">user: "${UID:-1000}:${GID:-1000}"</syntaxhighlight></li></ol> | <syntaxhighlight lang="yaml">user: "${UID:-1000}:${GID:-1000}"</syntaxhighlight></li></ol> | ||
=== '''Différence avec Composer Cache''' === | === '''Différence avec Composer Cache''' === | ||
| Ligne 368 : | Ligne 346 : | ||
| Warming dans l’image + volume | | Warming dans l’image + volume | ||
|} | |} | ||
=== '''Résumé''' === | === '''Résumé''' === | ||