Docker: Local Port und Container Port tauschen - kein fester Port für Web

Status
Für weitere Antworten geschlossen.

mading

Benutzer
Mitglied seit
31. Aug 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hi,

auf meiner Synolog DS218+ habe ich erfolgreich ein Docker Image mit Splunk installiert. Splunk (eine Web Applikation) läuft im Standard über Port 8000 als Web Server. Nun ist es leider so, dass das Image nicht über diesen Port erreichbar ist, sondern über einen wechselnden Port. Im angehängten Screenshot Beispiel war es der Port 32772. Letztendlich sind die Ports eigentlich nur vertauscht: Local Port und Container Port müssten anders herum sein.

Hat jemand einen Tipp? Wenn ich SSH auf meiner Synology (aktuellstes DSM) aktiviere, komme ich nicht auf /opt (/Splunk). Es wird noch nicht mal angezeigt, obwohl ich mich mit dem erstellten Admin User, mit dem ich auch die Synology über Web administriere, einlogge.


splunk.jpg

Bin über Tipps dankbar

Grüße
mading
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.164
Punkte für Reaktionen
63
Punkte
68
Hier scheint ein wenig Grundlagenwissen von Docker zu fehlen.

Docker Container sind quasi abgeschottete virtuelle Umgebungen, in denen ein eigenes Betriebssystem auf der Synology ausgeführt wird. Deshalb kann man das /opt auch nicht im Verzeichnisbaum der Synology finden, sondern z.B. über den Tab Terminal eine Bash aufmachen und darin betrachten. Andere Möglichkeit ist sich mit docker exec (siehe Docker Doku) auf der Synology Kommandozeile als root! am Container anzumelden.

Die Ports vom Container werden auf die Ports der Synology gemapped. Den Port auf der Synology kann man unter Bearbeiten->Porteinstellungen für den (ausgeschalteten) Container einstellen. Wenn 8000 auf der Synology noch frei ist kann man das Mapping also gerne Lokaler Port 8000, ContainerPort 800 einstellen. Der lokale Port auf der Synology ist dann auch statisch.
 

mading

Benutzer
Mitglied seit
31. Aug 2018
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hi Tommi2day,

du hast vollkommen Recht, ich habe mich bis vor 3 Tagen nicht mit Docker beschäftigt. Danke für deine Antwort! Ich bin nicht auf die Idee gekommen, den Container aus zu schalten und dann zu schauen, ob ich weitere Einstellungen ändern kann. Komme ich auf File Ebene irgendwie an die Splunk Verzeichnisse? Bei Splunk reicht es aus, den etc Ordner zu sichern für ein Backup.

Danke!
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Docker ist ein Anwendungsvirtualisierung, das Betriebssystem / Linux-Kernel wird gemeinsam benutzt.
https://de.wikipedia.org/wiki/Docker_(Software)

Du kannst (im ausgeschalteten Container) in den Einstellungen Mappings von Ordner innerhalb des Containers auf Ordner auf der Synology erstellen. Findet sich im Reiter/Tab "Volume".
Auch hier (wie bei den Ports) ist links "Datei"Ordner" der Ort im Dateisystem des Hosts, also deiner Syno, und der "Mount-Pfad" der Ort innerhalb des Containers.
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.164
Punkte für Reaktionen
63
Punkte
68
Wenn man die Volumes für den gewünschten Pfad im Container nicht nutzen kann oder möchte kann man vom Host aus Files mit dem laufenden Container mit dem "docker cp" Kommando austauschen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat