« 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é''' ===