Benutzerdefinierte Bridge-Netzwerke und Service Discovery
Erstellen Sie benutzerdefinierte Bridge-Netzwerke, damit Container einander über Namen finden und miteinander kommunizieren können, und lernen Sie, wie Docker die DNS-basierte Service Discovery handhabt.
Benutzerdefinierte Bridge-Netzwerke und Service Discovery ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Warum ein benutzerdefiniertes Netzwerk?
Das standardmäßige bridge-Netzwerk funktioniert, aber Container darin können sich nur über ihre IP-Adresse erreichen. Ein benutzerdefiniertes Bridge-Netzwerk bietet automatische DNS-basierte Service-Erkennung, sodass Container sich über ihren Namen erreichen können.
- Bessere Isolation zwischen App-Gruppen
- Integrierte Namensauflösung
- Container können im laufenden Betrieb verbunden und getrennt werden
Vorhandene Netzwerke auflisten
Docker wird mit drei Standardnetzwerken ausgeliefert. Untersuchen Sie diese mit docker network ls, bevor Sie ein eigenes Netzwerk erstellen.
docker network lsEin Bridge-Netzwerk erstellen
Verwenden Sie docker network create. Ohne Angabe eines Treibers verwendet Docker standardmäßig den bridge-Treiber, der ideal für Container auf einem einzelnen Host ist.
docker network create app-netDas Netzwerk untersuchen
docker network inspect zeigt Subnetz, Gateway und alle verbundenen Container als JSON an. Das ist nützlich, um IP-Adressbereiche zu untersuchen.
docker network inspect app-netContainer darin ausführen
Verbinden Sie einen Container bereits beim Start mit --network. Hier starten wir einen Redis-Container, den andere Container über seinen Namen finden können.
docker run -d --name cache --network app-net redis:7Namensbasierte Erkennung
In einem benutzerdefinierten Netzwerk wird der Name des Containers über den Docker-DNS-Dienst aufgelöst. Eine App verbindet sich einfach mit dem Host cache auf Port 6379, statt nach einer IP-Adresse suchen zu müssen.
docker run -it --network app-net alpine ping -c 2 cacheNetzwerk-Aliase
Geben Sie einem Container mit --network-alias einen zusätzlichen DNS-Namen. Das ist nützlich, wenn mehrere Container hinter einem Round-Robin-Verfahren auf denselben logischen Namen antworten.
docker run -d --network app-net --network-alias db postgres:16Einen laufenden Container verbinden
Sie müssen nicht alles beim Start festlegen. Mit docker network connect verbinden Sie einen bereits laufenden Container mit einem weiteren Netzwerk.
docker network connect app-net webDie Verbindung zu einem Netzwerk trennen
Umgekehrt entfernt docker network disconnect einen Container aus einem Netzwerk, ohne ihn zu stoppen.
docker network disconnect app-net webExposing und Publishing im Vergleich
Container im selben benutzerdefinierten Netzwerk können sich frei über jeden Port austauschen. Damit ein Dienst vom Host aus erreichbar ist, veröffentlichen Sie einen Port mit -p hostPort:containerPort.
docker run -d --network app-net -p 8080:80 nginxNetzwerke aufräumen
Entfernen Sie ein ungenutztes Netzwerk mit docker network rm oder bereinigen Sie alle ungenutzten Netzwerke auf einmal. Netzwerke mit verbundenen Containern können erst entfernt werden, wenn diese Container gelöscht wurden.
docker network prune -fKurze Überprüfung
Testen Sie Ihr Verständnis der Service-Erkennung.
Zusammenfassung
Sie haben gelernt, benutzerdefinierte Bridge-Netzwerke zu erstellen und zu verwalten:
docker network createerstellt ein isoliertes Netzwerk mit DNS- Container erreichen sich über ihren Namen oder über
--network-alias - Mit
connect/disconnectkönnen Container im laufenden Betrieb verbunden und getrennt werden - Veröffentlichen Sie Ports mit
-pund bereinigen Sie ungenutzte Netzwerke
Die namensbasierte Service-Erkennung ist die Grundlage, auf der Compose automatisch aufbaut.
Häufig gestellte Fragen
Ist die Lektion „Benutzerdefinierte Bridge-Netzwerke und Service Discovery“ kostenlos?
Ja — der vollständige Text von „Benutzerdefinierte Bridge-Netzwerke und Service Discovery“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Benutzerdefinierte Bridge-Netzwerke und Service Discovery“?
Erstellen Sie benutzerdefinierte Bridge-Netzwerke, damit Container einander über Namen finden und miteinander kommunizieren können, und lernen Sie, wie Docker die DNS-basierte Service Discovery handh… Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Benutzerdefinierte Bridge-Netzwerke und Service Discovery“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen der Container-Netzwerke
- Docker-Volumes für dauerhafte Speicherung
- Bind-Mounts und tmpfs-Mounts
- Benutzerdefinierte Bridge-Netzwerke und Service Discovery