Skip to content

improve Dockerfile build sequence#2999

Open
pifou25 wants to merge 1 commit intojeedom:alphafrom
pifou25:feat/dockerfile_copy
Open

improve Dockerfile build sequence#2999
pifou25 wants to merge 1 commit intojeedom:alphafrom
pifou25:feat/dockerfile_copy

Conversation

@pifou25
Copy link
Contributor

@pifou25 pifou25 commented Dec 17, 2024

Description

Pour éviter de recopier les sources lorsque ce n'est pas nécessaire: 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 /tmp/jeedom:/var/www/html --rm --name jeedom_server jeedom
Avec l'option -v je map le rep 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 / relance du container, on ne perd rien. Mais au 1er lancement, si mon rep /tmp/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.
C'est ce que je ne comprends pas dans la doc, normalement si le rep est vide on devrait y retrouver les données du container:
https://docs.docker.com/engine/storage/volumes/#mounting-a-volume-over-existing-data

Le fichier .dockerignore permet à l'instruction COPY . 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.
J'ai mis à jour composer.lock de nouveau mais c'est normalement le même que celui en attente de merge sur #2905 mais le build ne marche pas avec le composer.lock actuel (c'est sans doute pour ça qu'il est systématiquement supprimé)

Suggested changelog entry

Related issues/external references

Fixes #

Types of changes

  • Bug fix (non-breaking change which fixes)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
    • This change is only breaking for integrators, not for external standards or end-users.
  • Documentation improvement

PR checklist

@pifou25 pifou25 force-pushed the feat/dockerfile_copy branch from c67f209 to ae6dd9a Compare May 2, 2025 20:59
@pifou25 pifou25 force-pushed the feat/dockerfile_copy branch from ae6dd9a to 5cafa8c Compare May 24, 2025 07:27
@pifou25 pifou25 force-pushed the feat/dockerfile_copy branch from 5cafa8c to 78e1cb3 Compare September 14, 2025 12:08
@pifou25 pifou25 force-pushed the feat/dockerfile_copy branch from 78e1cb3 to 8dc55f1 Compare February 1, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants