Programm innerhalb Containerstation (Debian) autostart

  • Moin moin,

    ich habe da ein kleines Problem. Vermutlich habe ich etwas überlesen oder einfach nicht verstanden.

    Und zwar habe ich einen Container (LXC -> Debian) erstellt. Dort habe ich dann einige Programme installiert, welche ich nun immer dann starten will, wenn auch der Container startet.

    Leider bin ich an dieser Stelle bis jetzt kläglich gescheitert.

    Mein Weg war es mit update-rc.d "meinscript" default zu versuchen.

    Leider verschwindet dieser Eintrag nach jedem Neustart des Containers wieder bzw wird einfach nicht ausgeführt.

    Wie aber bekomme ich es hin, dass mein Script bzw der von mir gewünschter Service im Autostart ausgeführt wird?


    Tobias

  • Falls es dir um ein bestimmtes Programm geht, warum nimmst du dann keinen Docker Container anstelle von LXC? Da ist das gewünschte Verhalten (Containerstart = Programmstart) nämlich Standard.

  • OK, ich habe jetzt einen Docker Container genommen. Leider weiß ich hier auch nicht wie ich den Autostart hinbekomme. Der Weg über


    service ssh start

    update-rc.d ssh enable

    update-rc.d ssh defaults


    scheint nicht zu funktionieren.


    Tobias

  • Um welches Programm handelt es sich denn?

    Es wäre schon gut, sich zumindest die Grundlagen von Docker (bzw. Containern im allgemeinen) anzuschauen, wenn man diese verwenden möchte.

    In kürze nur so viel: in einem Container hast du kein Init System, sprich die oben genannten Befehle sind, wie du selbst schon gemerkt hast, nutzlos. Stattdessen trägst du das zu startende Programm einfach in das Dockerfile ein, auf welchem dein Container basiert. Im aller kleinsten Fall sieht das dann z.B. so aus:

    Docker
    FROM ubuntu
    RUN apt install DEIN PROGRAMM
    CMD ["DEIN PROGRAMM"]

    Aus dieser Datei kann dann ein sogenanntes Image mit docker build . gebaut werden, welches wiederum mit docker run <IMAGENAME oder ID> einen Container startet, der dann nichts anderes tut, als dein Programm auszuführen.