-
Notifications
You must be signed in to change notification settings - Fork 1
Description
A mon humble avis, le config est déjà robuste ! Voici tout de même quelques points que j'améliorais :
- Ajouter des valeurs par défaut pour les variables d'environnement\args dans le fichier
compose.ymlqui pourront être écrasées d'après la doc comme ceci :
apache:
build:
context: './apache/'
args:
- APACHE_VERSION=${APACHE_VERSION:-2.4.53}Ensuite, j'effacerai le fichier .env car cela peut provoquer des confusions avec le fichier .env de l'application.( Y'en a-t-il un d'ailleurs ?).
- Il y ambiguïté entre ce que vous appelez les versions et les tags des images.
Exemple: Dans le fichier .env, vous appelez la version d'Apache 2.4.53-alpine, qui est en fait un tag d'image. Cela laisse à l'utilisateur le choix du tag ce qui peut provoquer des erreurs de build si l'utilisateur décide d'utiliser une image debian et que le dockerfile apache contient des commandes apk.
Je ferai plutôt :
ARG APACHE_TAG_VERSION
FROM httpd:${APACHE_TAG_VERSION}-alpine
...-
Je trouve ça dommage de construire une image pour la DB sachant que l'import de la DB peut déjà se faire au démarrage du conteneur avec
./mysql/sql:/docker-entrypoint-initdb.d/:rw -
Enfin je créerai 2 fichiers
compose.yml, un pour la conf Apache, l'autre pour la conf Nginx. On pourrait le lancer comme ça :docker-compose up -d -f compose-apache.yml- Ou utiliser le système d'override pour mutualiser la config mais cela rallonge considérablement les commandes :
docker-compose up -d -f compose.base.yml -f compose.apache.ymloudocker-compose up -d -f compose.base.yml -f compose.nginx.yml