IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Mettre un service en démarrage automatique (systeme Debian 10 dans un conteneur Docker)


Sujet :

Administration système

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    septembre 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Webmaster - Développeur/intégrateur web
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2011
    Messages : 194
    Points : 218
    Points
    218
    Par défaut Mettre un service en démarrage automatique (systeme Debian 10 dans un conteneur Docker)
    Bonjour à toutes et tous,

    Je viens vous voir pour une question de débutant, dont la résolution pourrait paraitre simple mais qui ne l'est pas tant que çà... surtout vis-à-vis du contexte.

    J'ai décidé de paramétrer un serveur LAMP dans un conteneur Docker, à partir d'une image Debian 10.
    Je l'ai fait il y a quelques années sur une machine physique Ubuntu, j'avais rencontré bien moins de difficulté... mais j'arrive au bout de mon périple.

    Normalement, il ne me reste plus qu'à paramétrer un démarrage automatique des services Apache2 et MySQL.
    Le fonctionnement minimal de ces services est OK quand je l'ai lance avec la commande "service [NOM SERVICE] start", mais je souhaiterais qu'ils démarrent automatiquement suite au boot de la machine.

    J'ai déjà essayé plusieurs choses, d'abord avec systemd/systemctl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # Après avoir installé le package systemd
    systemctl status apache2
    J'ai le message d'erreur suivant :
    System has not been booted with systemd as init system (PID 1). Can't operate.
    Failed to connect to bus: Host is down

    ensuite en lançant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update-rc.d apache2 defaults
    => ça ne change rien

    ensuite en ajoutant un script "lamp" dans le dossier "/etc/init.d/", le script contient les commandes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    service apache2 start
    service mysql start
    => ça ne change rien, même après avoir exécuté la commande "update-rc.d lamp defaults"

    Il doit me manquer quelque chose dans la procéure... si quelqu'un à une solution ou des pistes pouvant mener à la solution... je suis preneur.

    Merci d'avance et bon dimanche !

    Mickaël
    Si vous avez besoin d'une librairie permettant de gérer facilement les fichiers et les dossiers en PHP... ou si vous êtes juste curieux(se) :
    https://github.com/moDevsome/moFilesManager

    N'hésitez pas à me faire un retour

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    avril 2014
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2014
    Messages : 182
    Points : 309
    Points
    309
    Par défaut
    Hello,

    Rassures moi tu n'as pas lancé tes commandes systemctl depuis un conteneur?

    Je suppose que les services que tu veux en démarrage automatique sont dans des conteneurs.

    Donc déjà assures toi que dockerd soit mis en démarrage auto (systemctl enable docker).

    Puis assures toi que tous tes dockers soient en politique de "restart always". Que ce soit dans ton docker-compose ou bien via la commande docker update ou docker run peu importe.

    Un reboot et normalement tout est OK.

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    septembre 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Webmaster - Développeur/intégrateur web
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2011
    Messages : 194
    Points : 218
    Points
    218
    Par défaut
    Merci pour ta réponse,

    Alors il y a 2 choses que je n'ai pas précisés :
    - je suis débutant sur Docker;
    - mon PC hôte est sous Windows 10;

    Pour répondre à tes questions :

    Rassures moi tu n'as pas lancé tes commandes systemctl depuis un conteneur?
    Bah si justement, pourquoi ? cela peut avoir une incidence sur le système de l'hôte ? j'ai peut être mal compris... mais les conteneurs ne se comportent pas comme des systèmes isolés sur le même principe que les VM ?

    Pour le reste, je voudrais être sur qu'il n'y a pas confusion avant de me lancer dans des trucs compliqués (qui peut être te paraissent simples...), je me suis peut être mal exprimé.
    Je ne cherche pas à faire en sorte que le conteneur se lance automatiquement au démarrage de la machine hôte, je souhaite que les services "apache2" et "mysql" présent "dans le conteneur" se lance automatiquement au démarrage de celui-ci.
    Si vous avez besoin d'une librairie permettant de gérer facilement les fichiers et les dossiers en PHP... ou si vous êtes juste curieux(se) :
    https://github.com/moDevsome/moFilesManager

    N'hésitez pas à me faire un retour

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 576
    Points : 33 658
    Points
    33 658
    Par défaut
    j'ai peut être mal compris... mais les conteneurs ne se comportent pas comme des systèmes isolés sur le même principe que les VM ?
    Pas tout à fait. Tu peux voir un conteneur comme la virtualisation d'une application, ou d'un service (au sens large un conteneur peut contenir un serveur Apache , un serveur MySQL pour proposer une appli web conteneurisée). Un conteneur s'appuie sur le noyau de son hôte.

    Je suis pas spécialiste Docker, mais en gros il te faut créer un script dans ton Docker et l'appeler au démarrage de ton conteneur avec Docker exec.

    Il doit y avoir aussi d'autres façons de faire.

    N'hésites pas non plus à utiliser le forum Docker.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre actif
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    septembre 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Webmaster - Développeur/intégrateur web
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2011
    Messages : 194
    Points : 218
    Points
    218
    Par défaut
    Merci Chrtophe pour ta réponse,

    il te faut créer un script dans ton Docker et l'appeler au démarrage de ton conteneur avec Docker exec
    C'est que j'ai déjà essayé de faire en ajoutant un script "lamp" dans le dossier "/etc/init.d/", le script contient les commandes suivantes :
    service apache2 start
    service mysql start

    mais ça n'a pas résolu mon problème, après peut être que la présence des 2 commandes ne suffit pas.

    J'ai déjà exploré plusieurs possibilités comme passer par le service Cron par exemple, sauf que lui même ne sera pas lancé au démarrage, c'est le serpent qui se mord la queue...

    Bonne idée pour le forum Docker, en espérant que je vais tombé sur quelqu’un de sympa qui a déjà eu cette galère...

    si en parallèle vous avez d'autres idées je reste open bien évidement
    Si vous avez besoin d'une librairie permettant de gérer facilement les fichiers et les dossiers en PHP... ou si vous êtes juste curieux(se) :
    https://github.com/moDevsome/moFilesManager

    N'hésitez pas à me faire un retour

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 576
    Points : 33 658
    Points
    33 658
    Par défaut
    Ton script doit être lancé lors du démarrage du conteneur avec docker exec.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    avril 2014
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2014
    Messages : 182
    Points : 309
    Points
    309
    Par défaut
    Hello,

    Oublie init.d si tu es en train de configurer des dockers.

    Toute ta configuration de lancement de services se passe dans ton docker file et uniquement celui-ci.

Discussions similaires

  1. Apprendre l'accès aux services Bluemix dans les conteneurs Docker
    Par Community Management dans le forum IBM Cloud
    Réponses: 0
    Dernier message: 18/09/2017, 01h43
  2. [Apache Tomcat / MySQL] Démarrage automatique des services
    Par ruff15 dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 02/12/2008, 20h48
  3. Démarrage automatique des services
    Par barrique dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/07/2008, 09h40
  4. [Windows XP][Service] Pb démarrage automatique
    Par joefou dans le forum Windows XP
    Réponses: 5
    Dernier message: 14/10/2005, 09h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo