improve Dockerfile build sequence#3274
Open
pifou25 wants to merge 2 commits into
Open
Conversation
11 tasks
kwizer15
reviewed
Apr 19, 2026
kwizer15
reviewed
Apr 19, 2026
abf1df2 to
be05783
Compare
Co-Authored-By: kwizer15 <kwizer15@users.noreply.github.com>
be05783 to
d8ae0c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Pour éviter de recopier les sources lorsque ce n'est pas nécessaire, au démarrage du conteneur: le step (6) dans Dockerfile
COPY . ${WEBSERVER_HOME}fait déjà la copie des fichiers dans le répertoire courant.Pourtant je l'ai quand même laissé post-install dans le init.sh pour un cas particulier :
docker run -p 80:80 -v /home/pifou/jeedom:/var/www/html --rm --name jeedom_server jeedomAvec l'option -v je map le répertoire de l'host sur celui du container. Du coup ça permet de persister Jeedom sur l'host, et ça marche lors de l'arrêt / mise à jour / relance du container, on ne perd rien. Mais au 1er lancement, si mon rep /home/pifou/jeedom est vide sur l'host, il est vide aussi dans le container, malgré que je pensais y avoir copié les sources (lors du build). Dans ce cas uniquement, on doit recopier les sources au démarrage du conteneur, cela est normal.
Dans le cas de l'utilisation d'un volume nommé, c'est différent, le répertoire n'existe pas et il est bien initialisé avec les données de l'image du conteneur (le volume persistant sera créé dans
/var/lib/docker) :docker run -p 80:80 -v jeedom_data:/var/www/html --rm --name jeedom_server jeedomLe fichier
.dockerignorepermet à l'instructionCOPY .de savoir ce qu'il faut ignorer - ne pas copier dans l'image.Le step 10 (install composer) se fait aussi au build de l'image, pas au démarrage de l'application. Donc dans le Dockerfile également.
Suggested changelog entry