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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    Septembre 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 210
    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

  2. #2
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    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 éprouvé
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    Septembre 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 210
    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.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 327
    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 éprouvé
    Homme Profil pro
    Webmaster - Développeur/intégrateur web
    Inscrit en
    Septembre 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 210
    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

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 327
    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

+ Répondre à la discussion
Cette discussion est résolue.

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