4.5.1 SSH Container für Zugriff auf Volumes

Beschreibung: Einrichtung eines SSH Containers mit Zugriff auf alle Docker Volumes über FTP.

Kategorie: Docker

Link zu diesem Beitrag: Alles auswählen

[url=https://forum.timberwolf.io/app.php/kb/viewarticle?a=70&sid=91faa6cf5896f881856c61fcf8c0d0f0]Knowledge Base - 4.5.1 SSH Container für Zugriff auf Volumes[/url]

Einleitung:
Mit Volumes in Docker werden einzelne Verzeichnisse eines Containers in einem "geschützten" Bereich verwaltet, der auch nach der Neuerstellung eines Containers erhalten bleibt (=persistenter Speicherbereich). Im Container selbst ist am jeweiligen Verzeichnis kein Unterschied sichtbar.

Ein Zugriff von außen per ssh wird von den meisten Containern meist nicht unterstützt, um beliebige Eingriffe zu unterbinden.
Um von außerhalb zumindest auf die Daten in einem Volume zugreifen zu können, wird im folgenden beschrieben.

Einrichtung des alpine-ssh Containers mit Zugriff auf vorhanden Volumes
  1. Im ersten Schritt unter Container mit add container einen neuen Container anlegen und unter Name einen Namen zB. SSH_AllVolumes eingeben, danach unter Image configuration den Pfad wie folgt eingeben:
    • "gotechnies/alpine-ssh:latest" für TWS der Serie 2xxx
    • "pdcemulator/alpine-ssh:arm32v7" für TWS 9xx
    Anschließend unter Ports configuration map additional port anklicken und port 22 auf 22 eintragen.

    Bild
    • Im nächstenn Schritt im Reiter Netzwerk das richtige Netzwerk auswählen. In diesem Beispiel wurde das "Heimnetzwerk" ausgewählt, das über macvlan dem Container eine eigene IP Adresse zuweist. Siehe: app.php/kb/viewarticle?a=19.
      Wichtig ist dabei, dass die verwendete IP Adresse außerhalb des DHCP Bereiches liegt, den der Router frei zuweisen kann.

      Bild
      • Danach im Reiter Volumes die existierenden Volumes einem Pfad im Container zuweisen. Unter diesem Pfad werden später die Volumes als Verzeichnisse gefunden.

        Bild
        • Abschließend im Reiter Restart policy festlegen, wie das Startverhalten des Containers sein soll:
          • Container soll immer bereit stehen: Always als Restart policy festlegen, damit der Container auch nach einem Reboot des TWS wieder automatisch gestartet wird.
          • Container nur bei Bedarf manuell starten: in diesem Fall Unless stopped oder Never auswählen.
          Nachdem diese Einstellungen gesetzt wurden den Container mit Deploy the container erstellen. Wenn kjeine Fehler auftreten, startet Portainer den Container automatisch.
          • Kontrolle der verbundenen Volumes: Nach dem erstellen des Containers kann man jederzeit die verknüpften Volumes einsehen. Einfach auf den Container-Namen klicken und zu Volumes hinunterscrollen:

            Bild
            Zugriff über FTP
            • WinSCP o.ä. installieren, wenn von einem PC aus zugegriffen werden soll.
            • Die zugewiesene IP Adresse und Port 22 eingeben, als user: root und pwd: root eintragen und Anmelden bzw. Speichern drücken.
              Beim ersten Zugriff erscheint eine Sicherheitsabfrage, die mit Ja zu bestätigen ist.

              Bild
              • Danach erscheint das klassische WinSCP Fenster und es kann nach /var/ gewechselt werden, wo dann die verbundenen Volumes sichtbar sind.

                ACHTUNG: dies ist ein Vollzugriff ohne Beschränkungen. Durch Editieren, Verschieben oder Löschen von Dateien oder Verzeichnissen kann der Hauptcontainer, der dieses Volume benützt, zum Absturz gebracht bzw. im schlimmsten Fall zerstört werden.

                Bild