Kommunikation zwischen Docker Containern

DerBenutzername

Benutzer
Mitglied seit
30. Nov 2014
Beiträge
62
Punkte für Reaktionen
0
Punkte
6
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!
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.262
Punkte für Reaktionen
921
Punkte
174
Verrate uns erst einmal welche Container du denn überhaupt einrichten möchtest / verknüpfen möchtest - dann können wir weiterschauen.
 

DerBenutzername

Benutzer
Mitglied seit
30. Nov 2014
Beiträge
62
Punkte für Reaktionen
0
Punkte
6
Ein MQTT Broker Server (Mosquitto) und OpenHab (dort ein MQTT Broker Thing)...
 

DerBenutzername

Benutzer
Mitglied seit
30. Nov 2014
Beiträge
62
Punkte für Reaktionen
0
Punkte
6
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..
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Wenn du beide Container in ein Docker Netzwerk steckst können sie über ihre Namen gegenseitig angesprochen werden. Noch interner geht dann nicht.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.262
Punkte für Reaktionen
921
Punkte
174
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.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.478
Punkte für Reaktionen
362
Punkte
103
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.
 

DerBenutzername

Benutzer
Mitglied seit
30. Nov 2014
Beiträge
62
Punkte für Reaktionen
0
Punkte
6
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ß
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.478
Punkte für Reaktionen
362
Punkte
103
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.
 


 

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