Kommunikation zwischen Docker Containern

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

DerBenutzername

Benutzer
Registriert
30. Nov. 2014
Beiträge
78
Reaktionspunkte
3
Punkte
8
Hi!
Ich versuche gerade Server / Client basiert die Kommunikation zwischen 2 Docker Containern hin zu bekommen. Aber irgendwie klappt es noch nicht. Ist die angabe Localhost in dem Fall korrekt? Oder muss ich ein anderes Netzwerkinterface verwenden?

Gruß und danke!
 
Verrate uns erst einmal welche Container du denn überhaupt einrichten möchtest / verknüpfen möchtest - dann können wir weiterschauen.
 
Ein MQTT Broker Server (Mosquitto) und OpenHab (dort ein MQTT Broker Thing)...
 
Ahh ich merke gerade, wenn ich den vom Router verwendeten Hostnamen oder die IP nehme, geht es. Nur localhost mag er wohl nicht... Wäre natürlich schöner, wenn die Kommunikation über intern gehen würde..
 
Wenn du beide Container in ein Docker Netzwerk steckst können sie über ihre Namen gegenseitig angesprochen werden. Noch interner geht dann nicht.
 
Nur localhost mag er wohl nicht... Wäre natürlich schöner, wenn die Kommunikation über intern gehen würde..
Was wohl auch klar ist. Jeder Container hat intern seine eigene IP. Wenn du nun localhost verwendest, dürftest du im Zweifelsfall den localhost des Containers ansprechen und nicht localhost des NAS. Wenn es über die Namensauflösung funktioniert, nutze diese am Besten. Ich habe die Erfahrung gemacht, dass sich nach einen Containerupdate die internen IPs ändern.

Idealerweise solltest du übrigens aus Sicherheitsaspekten für deine Container ein eigenes Bridge-Netzwerk anlegen. P.S.: Du kannst dir auch einmal den ioBroker anlegen. Hier gibt es auch einen MQTT-Adapter.
 
Für meinen Geschmack fehlt hier die Angabe, wie die Container Netzwerkseitig eingebunden sind:
- "default bridge" Netzwerk?
- selbst angelegtes Bridge-Netzwerk (über Cli, Syno UI, Portainer, docker-compose,... )?
- selbst angelegtes macvlan-Netzwerk (über Cli, Portainer, docker-compose,...)?
- Mitverwendung des Host-Netzwerk?

Je nachdem, welche Art von Netzwerk verwendet wird, sieht die Lösung anders aus.
 
Ich habe an den Netzwerkeinstellungen nichts geändert. Ich habe die Standardeinstellungen verwendet. Kann ich die Container über die GUI ins selbe Netz packen? Oder muss ich das über eine CLI machen? Und wichtigste Frage: muss ich die Container dafür neu erstellen?

Gruß
 
Und wichtigste Frage: muss ich die Container dafür neu erstellen?
Nein, einfach nur vorher ausschalten.

Kann ich die Container über die GUI ins selbe Netz packen?
Über die Docker-UI kann im Menüpunkt "Netzwerk" ein neues Netzwerk anlegen werden. Dort muss folgendes gemacht werden:
1. Netzwerk "bridge" verwalten: die beiden Container einzeln löschen
2. Hinfzufügen: Netzwerknamen vergeben und "Hinzufügen" klicken
3. Neues Netzwerk verwalten und die beiden Container hinzufügen über die Auswahlliste und dann "Übernehmen" klicken

Danach die Container wieder starten. Die Container können sich nun über den Containernamen (dank Netzwerk-internem DNS) als Hostnamen ansprechen.
 
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