Tutorial: Wie erstelle ich einen Container per SSH?

Version vom 3. April 2024, 13:20 Uhr von Rb (Diskussion | Beiträge) (Container aktivieren hinzugefügt)


Dieser Artikel befindet sich zur Zeit in Bearbeitung

Anleitung

Schritt 1: Container-Funktion aktivieren

Containeraktivieren.png Wenn Sie im DCP zum Container-Feature unter "Webspace" -> "Container" gehen, werden Sie sehen, dass das Feature erst im Haupt-FTP-User aktiviert werden muss, bevor man das ganze überhaupt nutzen kann. Das können Sie tun, indem Sie dort auf den Link "FTP-Benutzer-Verwaltung" klicken und in der FTP-User-Übersicht auf Ihren Hauptaccount klicken. Dieser besteht in der Regel aus einem kleinen "a" und einer fünfstelligen Zahlenfolge und ist auch der Benutzername für das DCP, bpsw. a12345.

Containeraktiverenpart2.png

  1. Wenn Sie im richtigen FTP-User sind, sollten Sie an dieser Stelle (1) die Container-Funktion aktivieren können. Ggfs. können Sie hier zusätzlich prüfen, ob die anderen Settings ("Aktiv" & "SSH") auch auf aktiv gestellt sind.
  2. Klicken Sie zum Schluss auf den Button "Übernehmen", damit die Einstellungen gespeichert werden.

Schritt 2: Per SSH mit dem Server verbinden

Zuerst müssen Sie sich mit dem Hauptuser per SSH auf dem Server anmelden. Nur der Hauptuser ist berechtigt, die Container zu verwalten. (DCP-User können die Container-Funktion vorerst nicht verwenden) Wie Sie sich per SSH mit dem Server verbinden können, finden Sie hier: https://support.artfiles.de/Tutorial:_SSH-Zugang_nutzen

Schritt 3: Image raussuchen, welches man installieren möchte

Im Docker Hub können Sie nach Ihrem gewünschten Image suchen und dementsprechend bei uns installieren. Alternativ können Sie per SSH direkt auf dem Server nach dem gewünschten Image suchen mit

docker search --filter is-official=true *NameDerGesuchtenImage*

Im Beispiel von "NextCloud" würde das so aussehen:

docker search --filter is-official=true nextcloud

Falls Sie hier nicht die standardmäßig letzte Version installieren möchten, können Sie mit diesem Befehl nach dem korrekten Tag suchen.:

docker search --list-tags VollständigerImageName

Im Beispiel von "NextCloud" würde das so aussehen:

docker search --list-tags docker.io/library/nextcloud

Für die Image-Installation können Sie über Docker Hub ggfs. weitere Informationen bzgl. Umgebungsvariablen, Mount- und Portzuweisungen einsehen.

Schritt 4: Container anlegen und starten

Mit dem Befehl

docker run [OPTIONS] IMAGE [:TAG|@DIGEST] [CMD] [ARG…]

können Images installiert und direkt gestartet werden.

Standardmäßig sollte bei der Image-Installation zusätzlich zum Image-Namen IMAGE:TAG ein -d -p HOSTPORT:CONTAINERPORT -v VOLUMENAME:VOLUMEDESTINATION mitgegeben werden:

docker run -d -p HOSTPORT:CONTAINERPORT -v VOLUMENAME:VOLUMEDESTINATION IMAGE:TAG
Mit -d können Sie bei der Erstellung mit angeben, dass der Container im Hintergrund laufen und somit attached werden soll.
Mit -p HOSTPORT:CONTAINERPORT können Sie Ihrem Container einen Port zuweisen, damit dieser bspw. über Port 80 erreichbar ist.
Mit -v VOLUMENAME:VOLUMEDESTINATION können Sie Ihrem Container ein eigenes Volumen zuweisen.


Für den Container sind die Hostports im Bereich 40000-40100 freigegeben, folglich könnte ein vollständiger Befehl so aussehen:

docker run -d -p 40042:80 -v nextcloud:/var/www/html docker.io/library/nextcloud:latest

Falls Sie möchten, können Sie mit dem Parameter --name dem Container auch einen Namen zuweisen:

docker run -d -p 40042:80 -v nextcloud:/var/www/html --name SupportTest docker.io/library/nextcloud:latest

Alternativ können Sie auch zuerst per

docker create -p HOSTPORT:CONTAINERPORT -v VOLUMENAME:VOLUMEDESTINATION IMAGE:TAG

den Container nur erstellen, falls der Container erst später mit

docker start -a IMAGEID

gestartet werden soll.

Schritt 5: Prüfen, ob Container angelegt worden ist

Mit dem Befehl

docker ps -a

können Sie einsehen, welche Container bereits angelegt worden sind, und somit prüfen, ob Ihre Container-Installation funktioniert hat.