-
Notifications
You must be signed in to change notification settings - Fork 318
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
docker build #2992
base: alpha
Are you sure you want to change the base?
docker build #2992
Conversation
il y a une erreur à l'installation du package chromium, je ne sais pas l'expliquer... Il faut attendre et relancer le job :/ une autre PR a la même erreur.
|
/root/install.sh -s 6 -v ${VERSION} -w ${WEBSERVER_HOME} | ||
|
||
# do not re-install jeedom | ||
if [ ! -f ${WEBSERVER_HOME}/core/config/common.config.sample.php ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je suis pas sur que ca soit bon, a chaque mise à jour du core ce fichier va revenir et donc au redemarrage du docker ca va reinstaller jeedom.... Il faut se baser sur le fichier common.config.php
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alors déjà, il y a la négation, donc si le fichier est présent, c'est "normal" mais s'il est absent on va re-installer les sources.
Et, il ne devrait jamais être absent, puisque ce fichier est copié, jamais supprimé.
Mais en vrai je voulais juste supprimer cette étape, on n'a pas besoin le le vérifier, on a forcément déjà les sources arrivé ici. Le "init.sh" c'est le runtime, le démarrage du container, mais le code a été copié durant le build de l'image. C'est pour ça que j'ai mis une condition que je suppose toujours fausse, sur un fichier en principe toujours présent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Voici comment je l'interprète:
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
ajout du fichier ".dockerignore" : comme pour .git les fichiers listés ici ne sont pas copiés par l'instruction COPY . du Dockerfile copier "install.sh" dans /root car on l'utilise pendant la séquence d'initialisation "init.sh" Ajout du "healthcheck": permet de valider la bonne initialisation du container, on peut ainsi le tester dans le workflow Ne pas re-télécharger le source jeedom durant l'initialisation (init.sh) puisqu'on l'a déjà fait durant le build (Dockerfile). Fix la fonction "trap" à l'arrêt du conteneur
1c000f2
to
9111ba6
Compare
Hello, c'est bon tout est passé au vert :) |
Salut @pifou25, effectivement si on peut faire plusieurs PR ce serait pas mal |
ok, c'est en cours je me garde quand même celle-ci comme réréfence pour le moment :) |
Description
ajout du fichier ".dockerignore" : comme pour .git les fichiers listés ici ne sont pas copiés par l'instruction COPY . du Dockerfile
copier "install.sh" dans /root car on l'utilise pendant la séquence d'initialisation "init.sh"
Ajout du "healthcheck": permet de valider la bonne initialisation du container, on peut ainsi le tester dans le workflow
Ne pas re-télécharger le source jeedom durant l'initialisation (init.sh) puisqu'on l'a déjà fait durant le build (Dockerfile).
Fix la fonction "trap" pour terminer sans tuer les process du container
Suggested changelog entry
Fix et Optimisation de l'image Docker + Healthcheck
Related issues/external references
Fixes #
Types of changes
PR checklist