Wie man ein benutzerdefiniertes Docker-Bridge-Netzwerk erstellt

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist eine leistungsstarke Containerisierungspaltform, die es Ihnen ermöglicht, Anwendungen auf eine konsistente und reproduzierbare Weise zu verpacken und bereitzustellen. Eines der wichtigsten Merkmale von Docker sind seine Netzwerkfunktionen, die die Möglichkeit umfassen, benutzerdefinierte Bridge-Netzwerke (Brückennetzwerke) zu erstellen. In diesem Tutorial lernen Sie, wie Sie ein benutzerdefiniertes Docker-Bridge-Netzwerk erstellen und Container damit verbinden können, um eine sichere und effiziente Kommunikation zwischen den Komponenten Ihrer Anwendung zu ermöglichen.

Grundlagen zu Docker-Bridge-Netzwerken

Docker-Container sind so konzipiert, dass sie leichtgewichtig und isoliert sind, müssen aber dennoch miteinander und mit der Außenwelt kommunizieren können. Docker bietet mehrere Netzwerkoptionen, um diese Kommunikation zu erleichtern, darunter auch das Docker-Bridge-Netzwerk (Brückennetzwerk).

Ein Docker-Bridge-Netzwerk ist ein virtuelles Netzwerk, das Docker-Container verbindet, die auf demselben Host laufen. Es ist der Standard-Netzwerktyp für Docker-Container und ermöglicht es den Containern, über ihre Containernamen oder IP-Adressen miteinander zu kommunizieren.

Wenn Sie einen neuen Docker-Container starten, wird er automatisch mit dem Standard-Bridge-Netzwerk namens bridge verbunden. Dieses Netzwerk wird von Docker erstellt und vom Docker-Daemon verwaltet. Das bridge-Netzwerk ist für einfache Anwendungsfälle eine gute Wahl, hat aber einige Einschränkungen, wie z. B. die Schwierigkeit, Container über verschiedene Hosts hinweg einfach zu verbinden.

Um diese Einschränkungen zu überwinden, können Sie ein benutzerdefiniertes Docker-Bridge-Netzwerk erstellen. Ein benutzerdefiniertes Bridge-Netzwerk bietet mehrere Vorteile:

  1. Verbesserte Isolation: Container, die mit einem benutzerdefinierten Bridge-Netzwerk verbunden sind, sind von Containern im Standard-bridge-Netzwerk isoliert, was die Sicherheit erhöht und das Risiko unbeabsichtigter Interaktionen verringert.
  2. Einfachere Containerverknüpfung: Container im selben benutzerdefinierten Bridge-Netzwerk können über ihre Containernamen miteinander kommunizieren, was die Einrichtung und Verwaltung der Kommunikation zwischen Containern erleichtert.
  3. Netzwerksegmentierung: Benutzerdefinierte Bridge-Netzwerke ermöglichen es Ihnen, separate Netzwerke für verschiedene Teile Ihrer Anwendung zu erstellen, was die Netzwerkorganisation und -sicherheit verbessert.
  4. Verbesserte Skalierbarkeit: Benutzerdefinierte Bridge-Netzwerke können verwendet werden, um Ihre Anwendung zu skalieren, indem Sie einfach neue Container zum Netzwerk hinzufügen können.

Um ein benutzerdefiniertes Docker-Bridge-Netzwerk zu erstellen, können Sie den Befehl docker network create verwenden. Sobald das benutzerdefinierte Netzwerk erstellt ist, können Sie Container damit verbinden, indem Sie beim Starten eines neuen Containers die Option --network verwenden oder indem Sie einen bestehenden Container mit dem Befehl docker network connect mit dem Netzwerk verbinden.

graph LR A[Docker Host] --> B[Docker Daemon] B --> C[Default Bridge Network] B --> D[Custom Bridge Network] C --> E[Container 1] C --> F[Container 2] D --> G[Container 3] D --> H[Container 4]

In der obigen Grafik können wir das Standard-bridge-Netzwerk und ein benutzerdefiniertes Bridge-Netzwerk sehen, das vom Docker-Daemon erstellt wurde. Container 1 und 2 sind mit dem Standard-bridge-Netzwerk verbunden, während Container 3 und 4 mit dem benutzerdefinierten Bridge-Netzwerk verbunden sind.

Erstellen eines benutzerdefinierten Docker-Bridge-Netzwerks

Um ein benutzerdefiniertes Docker-Bridge-Netzwerk zu erstellen, können Sie den Befehl docker network create verwenden. Die grundlegende Syntax lautet wie folgt:

docker network create [OPTIONS] NETWORK

Hier sind die Schritte zum Erstellen eines benutzerdefinierten Docker-Bridge-Netzwerks:

Schritt 1: Erstellen eines benutzerdefinierten Bridge-Netzwerks

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um ein benutzerdefiniertes Bridge-Netzwerk mit dem Namen "my-custom-network" zu erstellen:

docker network create my-custom-network

Dadurch wird ein neues Bridge-Netzwerk mit den Standard-Einstellungen erstellt.

Schritt 2: Überprüfen der Netzwerkerstellung

Sie können alle verfügbaren Docker-Netzwerke mit dem Befehl docker network ls auflisten:

docker network ls

Die Ausgabe sollte das neue Bridge-Netzwerk "my-custom-network" enthalten.

Schritt 3: Anpassen der Netzwerkkonfiguration (optional)

Sie können die Netzwerkkonfiguration anpassen, indem Sie beim Erstellen des Netzwerks zusätzliche Optionen angeben. Beispielsweise können Sie ein Netzwerk mit einem bestimmten Subnetz und Gateway erstellen:

docker network create --subnet 172.18.0.0/16 --gateway 172.18.0.1 my-custom-network

Dadurch wird ein benutzerdefiniertes Bridge-Netzwerk mit einem bestimmten Subnetz und Gateway erstellt.

Schritt 4: Prüfen der Netzwerkdetails

Sie können die Details des benutzerdefinierten Netzwerks mit dem Befehl docker network inspect prüfen:

docker network inspect my-custom-network

Dadurch werden die Netzwerkkonfigurationen, einschließlich des Subnetzes, des Gateways und anderer Details, angezeigt.

Durch die Erstellung eines benutzerdefinierten Docker-Bridge-Netzwerks können Sie die Isolation, Organisation und Skalierbarkeit Ihrer Docker-basierten Anwendungen verbessern.

Verbinden von Containern mit dem benutzerdefinierten Netzwerk

Nachdem Sie ein benutzerdefiniertes Docker-Bridge-Netzwerk erstellt haben, können Sie Container damit verbinden. Es gibt zwei Möglichkeiten, dies zu tun:

1. Verbinden eines Containers während der Erstellung

Beim Starten eines neuen Containers können Sie die Option --network angeben, um ihn mit dem benutzerdefinierten Netzwerk zu verbinden. Beispielsweise können Sie einen neuen Container starten und ihn mit dem Netzwerk "my-custom-network" verbinden:

docker run -d --name my-app --network my-custom-network nginx

Dadurch wird ein neuer Nginx-Container gestartet und mit dem Bridge-Netzwerk "my-custom-network" verbunden.

2. Verbinden eines bestehenden Containers

Sie können auch einen bestehenden Container mit einem benutzerdefinierten Netzwerk verbinden, indem Sie den Befehl docker network connect verwenden. Beispielsweise können Sie einen bestehenden Container namens "my-app" mit dem Netzwerk "my-custom-network" verbinden:

docker network connect my-custom-network my-app

Nachdem Sie den Container mit dem benutzerdefinierten Netzwerk verbunden haben, können Sie ihn von anderen Containern im selben Netzwerk über den Containernamen oder seine IP-Adresse innerhalb des Netzwerks erreichen.

graph LR A[Docker Host] --> B[Docker Daemon] B --> C[Custom Bridge Network] C --> D[Container 1] C --> E[Container 2] C --> F[Container 3]

In der obigen Grafik können wir drei Container sehen, die mit dem benutzerdefinierten Bridge-Netzwerk "my-custom-network" verbunden sind. Diese Container können über ihre Containernamen oder IP-Adressen innerhalb des Netzwerks miteinander kommunizieren.

Durch das Verbinden von Containern mit einem benutzerdefinierten Docker-Bridge-Netzwerk können Sie die Isolation, Organisation und Skalierbarkeit Ihrer Docker-basierten Anwendungen verbessern.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie ein benutzerdefiniertes Docker-Bridge-Netzwerk erstellen, Container damit verbinden und die Vorteile der Verwendung eines benutzerdefinierten Netzwerks für Ihre Docker-Anwendungen nutzen können. Durch das Verstehen und Implementieren von benutzerdefinierten Docker-Bridge-Netzwerken können Sie die Sicherheit, Isolation und Kommunikation zwischen Ihren containerisierten Diensten verbessern, was zu einer robusteren und skalierbareren Docker-basierten Infrastruktur führt.