# Grundlagen für ein einfaches Netzwerk auf einem einzelnen Host

Erfahren Sie, wie Sie grundlegende und erweiterte Netzwerktools zur Verwaltung von [Docker-Containern](https://www.ionos.de/digitalguide/server/knowhow/docker-container/ "Docker-Container") verwenden können. Die Netzwerkfunktion ermöglicht es Benutzern, ihre eigenen Netzwerke zu definieren und Container mit ihnen zu verbinden.

Sie können ein Netzwerk auf einem einzelnen oder aus mehreren Hosts mit der Docker-Netzwerk-Funktion erstellen. Dieser Artikel behandelt die Vernetzung von Docker-Containern auf einem einzelnen Host. Informationen und Anweisungen zur Vernetzung von Docker-Containern über mehrere Hosts hinweg finden Sie in unserem Artikel zu diesem Thema.

## Anforderungen

- IONOS Linux Cloud Server
- Docker wurde auf Ihrem System installiert und läuft dort.

## Sicheres Arbeiten mit Docker ohne Sudo

Der Docker-Daemon läuft als **root**, was bedeutet, dass Benutzer sudo verwenden müssen, um [Docker-Befehle](https://www.ionos.de/digitalguide/server/knowhow/docker-befehle/ "Docker-Befehle") auszuführen.

Um nicht für jeden Docker-Befehl **sudo** verwenden zu müssen, fügen Sie einfach Ihre Benutzer mit folgendem Befehl zur **Docker-Gruppe** hinzu:

```none
usermod -aG docker [username]
```

Wenn Sie beispielsweise den Benutzer jdoe zur Docker-Gruppe hinzufügen, muss dieser Benutzer nicht mehr sudo für jeden Docker-Befehl verwenden. Um den Benutzer zur Gruppe hinzuzufügen, verwenden Sie den Befehl:

```none
usermod -aG docker jdoe
```

## Dockers Standard-Netzwerke

Jede Docker-Installation erstellt automatisch drei Standard-Netzwerke. Sie können diese Netzwerke mit folgendem Befehl auflisten:

```none
sudo docker network ls
```

Die Ausgabe dieses Befehls sieht in etwa so aus:

[![Bild: Bridge-Netzwerk](https://www.ionos.de/digitalguide/fileadmin/_processed_/5/d/csm_networking-with-docker-1-show-networks_429e835354.webp "Bridge-Netzwerk")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/networking-with-docker-1-show-networks.jpg) Bridge-Netzwerk Das **Bridge**-Netzwerk ist das Standardnetzwerk. Wenn nicht anders angegeben, ist **Bridge** das Netzwerk, in dem Docker jeden neuen Container startet.

## Docker-Netzwerk: Bridge vs. Overlay

Docker unterstützt nativ zwei Arten von Netzwerken: Bridge und Overlay.

- Ein **Bridge**-Netzwerk ist auf einen einzelnen Host (Server) beschränkt.
- Ein **Overlay**-Netzwerk kann mehrere Hosts (Server) umfassen.

Da Overlay-Netzwerke komplizierter sind, werden wir sie in einem weiteren Artikel behandeln.

## Überprüfen eines Netzwerks

Die Überprüfung eines Docker-Netzwerks gibt Informationen über dieses Netzwerk zurück, einschließlich der Informationen darüber, welche Container an das Netzwerk angeschlossen sind, und ihrer IP-Adressen. Dies ist ein wertvolles Testwerkzeug und eine einfache Möglichkeit, die IP-Adresse Ihres Containers zu finden.

Sie können ein Netzwerk mit folgendem Befehl inspizieren:

```none
sudo docker network inspect [network name]
```

Um beispielsweise das **Bridge**-Netzwerk zu inspizieren, lautet der Befehl:

```none
sudo docker network inspect bridge
```

Die Ausgabe dieses Befehls sieht in etwa so aus:

[![Bild: test_centos_container](https://www.ionos.de/digitalguide/fileadmin/_processed_/9/9/csm_networking-with-docker-2-inspect-network_f570ce6361.webp "test_centos_container")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/networking-with-docker-2-inspect-network.jpg) test\_centos\_container Wie Sie im obigen Screenshot sehen können, läuft auf diesem **Bridge-Netzwerk** nur ein Container. Der Name des Containers lautet **test\_centos\_container** und die ihm zugewiesene IP-Adresse lautet 172.17.0.0.3.

Hinweis Container können nur miteinander kommunizieren, wenn sie im selben Netzwerk laufen. Wenn Sie beispielsweise eine Webanwendung in einem Container hatten, die sich mit einer Datenbank in einem anderen Container verbinden musste, müssten sich diese beiden Container im selben Netzwerk befinden.

## Erstellen eines neuen Bridge-Netzwerks

Um ein eigenes Netzwerk zu erstellen, lautet der Befehl:

```none
sudo docker network create -d [driver] [new network name]
```

Mit dem Flag **-d** können Sie den Treiber für das Netzwerk angeben. Für ein **Bridge-Netzwerk** verwenden Sie den **Bridge-Treiber**.

Um beispielsweise ein Bridge-Netzwerk namens **new\_test\_network** zu erstellen, verwenden Sie den Befehl:

```none
sudo docker network create -d bridge new_test_network
```

Sie können sudo docker **network** ls verwenden, um die Netzwerke auf Ihrem Host aufzulisten und zu überprüfen, ob Ihr Netzwerk erstellt wurde.

## Starten eines Containers und Hinzufügen desselben zu einem Netzwerk

Wenn Sie beim Starten eines Containers kein Netzwerk angeben, wird er automatisch dem Standard-Bridge-Netzwerk hinzugefügt.

Um einen Container zu starten und ihn zu einem bestimmten Netzwerk hinzuzufügen, verwenden Sie den Befehl:

```none
sudo docker run -it --net=[network name] --name [container name] [image]
```

Um beispielsweise einen Container mit dem Namen **test\_python\_container** aus dem Python-Image zu starten und ihn zu einem Netzwerk mit dem Namen **new\_test\_network** hinzuzufügen, lautet der Befehl:

```none
sudo docker run -it --net=new_test_network --name test_centos_container centos
```

Verwenden Sie **STRG-p STRG-q**, um den Container zu verlassen.

Sie können sudo docker network inspect **\[network name**\] verwenden, um das Netzwerk zu überprüfen und sicherzustellen, dass der Container angehängt ist.

## Hinzufügen eines laufenden Containers zu einem Netzwerk

Mit folgendem Befehl können Sie einen laufenden Container zu einem Netzwerk hinzufügen:

```none
sudo docker network connect [network name] [container name]
```

Um beispielsweise einen laufenden Container namens test\_centos\_container zu einem Netzwerk namens another\_test\_network hinzuzufügen, lautet der Befehl:

```none
sudo docker network connect another_test_network test_centos_container
```

Sie können sudo docker network inspect\[network name\] verwenden, um das Netzwerk zu überprüfen und sicherzustellen, dass der Container angehängt ist.

Hinweis Mit Docker können Sie Container zu mehreren Netzwerken hinzufügen. Es ist nicht erforderlich, einen Container von einem Netzwerk zu trennen, bevor er zu einem anderen hinzugefügt wird.

## Trennen eines Containers von einem Netzwerk

Um einen Container von einem Netzwerk zu trennen, verwenden Sie den Befehl:

```none
sudo docker network disconnect [network name] [container ID or name]
```

Um beispielsweise einen Container mit dem Namen **test\_centos\_container** vom **neuen\_test\_network-Netzwerk** zu trennen, lautet der Befehl:

```none
sudo docker network disconnect new_test_network test_centos_container
```

Sie können den Befehl **sudo docker network inspect \[network name\]** verwenden, um das Netzwerk zu überprüfen und festzustellen, ob der Container getrennt wurde.

Hinweis Mit dem Docker können Sie Container zu mehreren Netzwerken hinzufügen. Es ist nicht erforderlich, einen Container von einem Netzwerk zu trennen, bevor er zu einem anderen hinzugefügt wird.

## Löschen eines Netzwerks

Hinweis Sie können die Standard-Netzwerke, die Docker beim Start erstellt, nicht löschen.

Nachdem alle Container, die zu einem Netzwerk hinzugefügt wurden, gestoppt oder getrennt wurden, können Sie das Netzwerk mit folgendem Befehl löschen:

```none
sudo docker network rm [network ID or name]
```

Um beispielsweise das Netzwerk **new\_test\_network** zu entfernen, lautet der Befehl:

```none
sudo docker network rm new_test_network
```

Sie können mit dem Befehl **sudo docker network** ls überprüfen, ob das Netzwerk entfernt wurde.

## Beispiel: Ping zwischen zwei Containern im gleichen Netzwerk

Für dieses Beispiel werden wir ein benutzerdefiniertes Bridge-Netzwerk erstellen, zwei Container in diesem Netzwerk starten, an den **ping\_sender-Container** anhängen und von dort aus den anderen Container ping\_receiver pingen.

Hinweis In diesem Beispiel wird das offizielle CentOS 7-Image centos verwendet, das Sie mit folgendem Befehl von der Docker-Website herunterladen können:

```none
sudo docker pull centos
```

Wenn Sie es vorziehen, Ubuntu zu verwenden, ersetzen Sie stattdessen einfach ein Ubuntu-Image.

Erstellen Sie zunächst ein Bridge-Netzwerk namens **ping\_test\_network** mit dem Befehl:

```none
sudo docker network create -d bridge ping_test_network
```

Wenn Sie Ubuntu bevorzugen, verwenden Sie einfach ein Ubuntu-Image und starten Sie dann einen Container mit dem Namen **ping\_receiver** und hängen Sie diesen mit folgendem Befehl an das Bridge-Netzwerk **ping\_test\_network** an:

Erstellen Sie zunächst ein Bridge-Netzwerk namens **ping\_test\_network** mit dem Befehl:

```none
sudo docker run -it --net=ping_test_network  --name ping_receiver centos /bin/bash
```

Verwenden Sie **STRG-p STRG-q,** um den ping\_receiver-Container zu verlassen.

Inspizieren Sie das **ping\_test\_network** mit folgendem Befehl, um die IP-Adresse des **ping\_receiver-Containers** zu erhalten:

```none
sudo docker network inspect ping_test_network
```

Notieren Sie sich die IP-Adresse des Containers.

[![Bild: IP-Adresse](https://www.ionos.de/digitalguide/fileadmin/_processed_/2/9/csm_networking-with-docker-5-get-the-ip-address_4ced4e6e48.webp "IP-Adresse")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/networking-with-docker-5-get-the-ip-address.jpg) IP-Adresse In diesem Fall lautet die IP-Adresse 172.19.0.2.

Starten Sie einen Container namens **ping\_sender** und hängen Sie ihn mit folgendem Befehl an das **ping\_test\_network** Bridge-Netzwerk an:

```none
sudo docker run -it --net=ping_test_network  --name ping_sender centos bin/bash
```

Sobald Sie mit dem Container verbunden sind und eine Eingabeaufforderung erscheint, rufen Sie den anderen Container mit folgendem Befehl auf:

```none
ping [IP address of ping_receiver]
```

In diesem Fall werden wir die IP-Adresse 172.19.0.0.2 pingen. Die Ergebnisse eines erfolgreichen Pings werden in etwa so aussehen:

[![Bild: Ergebnisse eines erfolgreichen Pings](https://www.ionos.de/digitalguide/fileadmin/_processed_/9/7/csm_networking-with-docker-4-results-of-ping_34e5f11f83.webp "Ergebnisse eines erfolgreichen Pings")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/networking-with-docker-4-results-of-ping.jpg) Ergebnisse eines erfolgreichen Pings Verlassen Sie Ping mit **STRG-c** und verwenden Sie dann **STRG-p STRG-q**, um den Container zu verlassen.


This is a markdown version of: [https://www.ionos.de/digitalguide/server/konfiguration/netzwerk-auf-einem-einzelnen-host/](https://www.ionos.de/digitalguide/server/konfiguration/netzwerk-auf-einem-einzelnen-host/) for AI/LLM consumption.