Docker - SSH innerhalb eines Containers?

4 Antworten

Möglich, ja, aber nicht wirklich sinnvoll. Es sind halt eben Container, dort soll genau ein Service drin laufen, mehr nicht. Mit SSH wären dies schon zwei und damit auch noch damit verbundene mögliche Sicherheitsrisiken. Zudem weiss ich grad nicht, wie es mit den Usern in so einem Container aussieht.

Normalerweise verbindet man sich auf den Host und geht von dort aus z. Bsp. via docker exec in den Container, warum auch immer man das machen muss...

Woher ich das weiß:eigene Erfahrung – Nutze Linux täglich, sowohl auf Server als auch Desktop
WitchHunter0815  10.05.2022, 07:54

Als Zusatz, weil SFTP erwähnt wurde, so würde man kopieren.

docker cp container:/Pfad_im_Container ./Pfad_auf_dem_Host

0

TL;DR: Ja, kannst du. Installier dir in deine Container einfach nen SSH Server.

Aber: Das ist ein ziemliches Anti Pattern zum Design von solchen Containern.

Wenn du Daten vom Host in die Container bringen willst, benutz Volumes oder Bind Mounts.

Klar. Wenn im Container irgendwas läuft was SSH kann?
Das hast du normalerweise aber nicht, weil du im Container einzelne, kleine Sachen laufen lässt. Du hast eher einen Server, DEN steuerst du mit SSH, und kannst dann an einzelne Docker Container Befehle schicken.

Was du beschrieben hast bisher ist SSH extra pro Container, was unnötig wäre. Die bräuchen halt alle ein SSH Tool, wofür die Container nicht vorgesehen sind. Die Container lassen exakt nur die eine Sache laufen die du da drin hast. Und SSH kannst du halt auf dem Server haben

Justman 
Fragesteller
 09.05.2022, 23:31

Nun ja, ich würde Dateien aus diesem Container auf meinem Rechner laden, bearbeiten und wieder hochladen wollen...

0
Lezurex  09.05.2022, 23:35
@Justman

Und warum richtest du dir dafür nicht einfach z. Bsp. eine Nextcloud-Instanz ein?

1
Lezurex  09.05.2022, 23:38
@Justman

Na du hast die Funktion einer Cloud beschrieben... Die Synchronisiert das dann halt automatisch.

Simplere Alternative wäre NFS oder SMB.

1
Justman 
Fragesteller
 09.05.2022, 23:39
@Lezurex

Das müsste jedoch im selben Container laufen? Ich will die Dateien aus und wieder in den Container bekommen

0
Lezurex  09.05.2022, 23:53
@Justman

Hab deinen Kommentar wohl ein wenig falsch verstanden.

Warum musst du Dateien überhaupt in einen Container kopieren? Entweder werden die als Volume gemountet oder im Falle von Konfigurationen auch über Umgebungsvariablen mitgegeben.

1
Justman 
Fragesteller
 09.05.2022, 23:59
@Lezurex

Wenn ich da was in der Config ändern will, muss ich den Dienst neu builden, braucht gerne mal bis zu ´ner halben Stunde

0
EinTyppie  10.05.2022, 00:09
@Justman

Bitte? Was für beschissene Sachen hast du denn im Container laufen die eine komplette neuinstallation ihrer selbst brauchen bei Config änderung?? Höchstens nen Container neustart, das wars.

Bei welchen Sachen musst du denn bitte bei kleiner config änderung den ganzen container neu bauen. Das ist ja absolut müll

Jeder Container bezieht seine Dateien wie Config etc. aus den normalen Dateien und Ordner auf deinem Server. Die kannst du über FTP bearbeiten oder mit ner sync cloud über deinen PC synchronisieren.

Nichts davon braucht SSH, oder einen Container rebuild...

1

SSH muss natürlich auf dem Server aktiviert werden.

Dann hast du aber SSH für alles und nicht nur einen Teil davon