Closed ThomasRitaine closed 1 year ago
Merci pour ton travail !
Mais de rien, c'est toujours un plaisir de donner de mon temps en me formant sur de nouvelles techno !
Est-ce qu'une structure avec une surchage de dev et une de prod comme celle-ci pourrait t'aider ? https://git.ivannlaruelle.fr/larueli/symfony-base avec un docker-compose.yml de base, un de dev (avec uniquement les éléments de dev), un de prod. Dev
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
et proddocker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Après c'est peut être trop compliqué ?
Je trouve que l'organisation que tu proposes est plus claire et meilleure que avec le docker-compose.override.yml
:
docker-compose.yml
de base, commun au dev et Ă la proddocker-compose.dev.yml
pour l'environnement de devdocker-compose.prod.yml
pour l'environnement de prodIci, le docker-compose.yml
ne change pas, et le docker-compose.override.yml
devient docker-compose.dev.yml
. Peux-tu m'indiquer ce qu'il faudrait mettre dans le docker-compose.prod.yml
?
Dans tous les cas peux-tu expliquer tes modifications ? Tu as supprimé le Dockerfile : comment build l'image pour la prod ? Ou alors j'ai rien capté ?
J'ai supprimé le Dockerfile
car il servait juste Ă importer l'image larueli/php-symfony-base-image:8.0
sans la modifier. On perdait donc l'intérêt du Dockerfile
car il possible d'avoir le même résultat en spécifiant l'image à importer directement dans le docker-compose.yml
.
De plus, le docker-compose.yml
et le docker-compose.override.yml
importaient une image différente, ce qui aurait causé des différences de comportement entre le dev et la prod.
Dans le docker-compose.prod.yml
il faudrait mettre ça
version: '3'
services:
application:
restart: always
database:
restart: always
indiquant simplement de redémarrer systématiquement les container de l'app et de la db
Attention, le Dockerfile importe l'image et la modifie d'une certaine manière. Si tu vas voir le code source de celle-ci, tu verras des instructions ONBUILD
: celles-ci permettent d'effectuer les actions listées après import de l'image (en gros quand tu as plein d'app qui se buildent de la même manière, cela permet d'uniformiser). https://docs.docker.com/engine/reference/builder/#onbuild
Essaye de remettre le Dockerfile comme avant et essaye de builder avec docker build -t ungdev/etuutt-api .
et tu verras !
Description
Salut les petits potes 👋 J'ai bossé un peu sur l'installation du projet orienté pour des nouveaux devs, parce que c'était pas pratique d'installer 25 outils différents pour faire tourner le projet sur sa machine.\ Je vous laisse essayer et me dire ce que vous en pensez !
Checklist
Test
Implementation
dd()
|dump()
Tools
src
folder.Documentation
README.md
file.