Reboot du container en erreur

Bonjour,

Dans le cadre d’une migration de mon container Jeedom d’un serveur à une autre, je suis passé sur une version d’image plus récente (toujours en tag 4.4).
A la création pas de souci (normal c’est la meme stack) mais par contre au reboot du container, le script d’init boucle et jeedom n’est jamais accessible.

Après plusieurs tests, voici ce qui en ressort :

  • Si je supprimer le container et que je le recréé, ca marche
  • Si je reboot, ca marche plus
    Par conséquent, j’en ai deduis que le souci était dans le container et non pas dans mes volumes.

Je vois le container redemarrer donc c’est que l’init se passe mal. Pourtant il passe bien quand on est sur un container « fresh » donc je pense pas que c’est le script.
Donc j’ai regardé dans les logs et j’ai vu cela :

[Thu Aug 29 16:01:42.011219 2024] [core:notice] [pid 360:tid 360] AH00094: Command line: '/usr/sbin/apache2'
[Thu Aug 29 16:01:45.464392 2024] [core:warn] [pid 356:tid 356] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Aug 29 16:01:45.469650 2024] [mpm_prefork:notice] [pid 356:tid 356] AH00163: Apache/2.4.61 (Debian) configured -- resuming normal operations
[Thu Aug 29 16:01:45.469674 2024] [core:notice] [pid 356:tid 356] AH00094: Command line: '/usr/sbin/apache2'
[Thu Aug 29 16:01:49.731259 2024] [core:warn] [pid 350:tid 350] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Aug 29 16:01:49.736050 2024] [mpm_prefork:notice] [pid 350:tid 350] AH00163: Apache/2.4.61 (Debian) configured -- resuming normal operations
[Thu Aug 29 16:01:49.736076 2024] [core:notice] [pid 350:tid 350] AH00094: Command line: '/usr/sbin/apache2'
[Thu Aug 29 16:01:55.588355 2024] [core:warn] [pid 350:tid 350] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Aug 29 16:01:55.593460 2024] [mpm_prefork:notice] [pid 350:tid 350] AH00163: Apache/2.4.61 (Debian) configured -- resuming normal operations
[Thu Aug 29 16:01:55.593490 2024] [core:notice] [pid 350:tid 350] AH00094: Command line: '/usr/sbin/apache2'

Donc apache n’arrive pas à démarrer. C’est confirmer dans les logs par :

2024-08-29T16:20:15.243703373Z All init complete
2024-08-29T16:20:15.319288088Z Start apache2
2024-08-29T16:20:15.373661036Z AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.0.2. Set the 'ServerName' directive globally to suppress this message
2024-08-29T16:20:15.385082912Z Starting Apache httpd web server: apache2httpd (pid 344) already running
2024-08-29T16:20:35.509674369Z  failed!
2024-08-29T16:20:35.510397930Z The apache2 instance did not start within 20 seconds. Please read the log files to discover problems ... (warning).
2024-08-29T16:20:35.818215830Z Start atd
[...]
2024-08-29T16:21:04.688588533Z AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.0.2. Set the 'ServerName' directive globally to suppress this message
2024-08-29T16:21:04.696978390Z Starting Apache httpd web server: apache2.
2024-08-29T16:21:04.705212848Z apache2 is not running ... failed!

Mais pour autant, parfois je vois dans les logs docker (cf. PJ) :

2024-08-29T16:20:43.045406577Z AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.0.2. Set the 'ServerName' directive globally to suppress this message
2024-08-29T16:20:43.053093299Z Starting Apache httpd web server: apache2.
2024-08-29T16:20:43.059150747Z apache2 is running.

Donc je comprend pas tout.

Comment reproduire :

  • Mettre en place un container docker Jeedom avec une configuration
  • Rédemarrer le container (avec un docker restart ou par portainer par exemple c’est le même comportement)

@Loic si tu as une idée car je crois que c’est toi qui écrit le init.sh
jeedom logs (1).txt (76,3 Ko)

Bonjour
Soucis connu ça sera corrigé à la sortie de la 4.5 le soucis vient de l’arrêt non propre d’apache

Ok merci.
En attendant, j’ai un workaround possible autre que devoir manuellement reconstruire le container (dans le cas d’un reboot du server docker par exemple - volontaire ou non) ?

Non je vois pas comment faire la. La seule solution serait de passer sur le docker alpha et voir déjà si ça corrige bien (c’est pas moi qui ait fait ces modifications je suis loin d’avoir le niveau sur docker)

je vois pas de tag alpha disponible pour les containers docker

A oui on ne fait pas de docker alpha que a partir de la beta car ca consommerait trop de ressource de le faire pour l’alpha.

L’autre solution c’est en te connectant en ssh sur docker tu vas dans /root et tu vide le fichier init.sh et tu mets ca a la place dedans core/install/OS_specific/Docker/init.sh at alpha · jeedom/core · GitHub

Je suis repassé sur l’image 4.3 qui marche bien.
J’ai essayé de construire une image a partir du Dockerfile de l’alpha.

Le Dockerfile marche pas. Il manque les && avant les \ vu qu’en Alpha vous enchainez les script dans un même RUN.
Et meme en modifiant ca, le init passe pas. Comme la 4.3 resoud le souci ce sera mon workaround.

Merci @Loic

Bonjour,
Merci pour le retour j’ai trouvé les soucis pour le build docker c’est maintenant corrigé avec une image qui démarre bien.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.