Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve Dockerfile build sequence #2999

Open
wants to merge 1 commit into
base: alpha
Choose a base branch
from

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 bd84463 to 5e92695 Compare February 23, 2025 13:05
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