Linuxguide

Docker Netzwerk verstehen – Bridge, Host und Overlay erklärt 2025

Container-Kommunikation richtig konfigurieren

S
SeeColors IT
11. Juni 20264 Min. Lesezeit77 Aufrufe

Docker Netzwerkmodi im Überblick

Docker stellt fünf Netzwerktreiber bereit:

Treiber Beschreibung Typischer Einsatz
bridge Privates Netz auf dem Host Standard für einzelne Container
host Container teilt Host-Netzwerk Maximale Performance
none Kein Netzwerk Security-Isolation
overlay Multi-Host-Netzwerk Docker Swarm
macvlan Eigene MAC-Adresse Legacy-Apps im LAN

Bridge-Netzwerk (Standard)

Jeder Container bekommt eine eigene IP im privaten Docker-Subnet (172.17.0.0/16):

# Alle Netzwerke anzeigen
docker network ls

# Standard bridge inspizieren
docker network inspect bridge

# Benutzerdefiniertes Bridge-Netz erstellen (empfohlen!)
docker network create --driver bridge \
  --subnet 172.20.0.0/16 \
  --ip-range 172.20.240.0/20 \
  mein-netz

# Container im neuen Netz starten
docker run -d --name db --network mein-netz postgres:16
docker run -d --name app --network mein-netz myapp:latest

# Container im selben benutzerdefinierten Netz
# können sich per Name ansprechen:
# app → db:5432 funktioniert direkt

Wichtig: Im Standard-bridge-Netz kein DNS. In benutzerdefinierten Netzen wird automatisch DNS aktiviert – Container können sich per Service-Namen erreichen.

Host-Netzwerk

Container teilt den Netzwerk-Stack des Hosts:

docker run -d --network host nginx
# nginx lauscht direkt auf Port 80 des Hosts
# kein -p Port-Mapping nötig!

Vorteil: Maximale Performance, kein NAT-Overhead.
Nachteil: Container teilt alle Ports des Hosts – Konflikte möglich.

Port-Mapping

# Host-Port 8080 → Container-Port 80
docker run -d -p 8080:80 nginx

# Nur auf bestimmter IP binden
docker run -d -p 127.0.0.1:8080:80 nginx

# UDP-Port
docker run -d -p 5353:53/udp bind

# Alle exponierten Ports automatisch mappen
docker run -d -P nginx

Overlay-Netzwerk (Docker Swarm)

Für Multi-Host-Kommunikation in Docker Swarm:

# Swarm initialisieren
docker swarm init --advertise-addr <SERVER-IP>

# Overlay-Netzwerk erstellen
docker network create --driver overlay \
  --attachable mein-overlay

# Service im Overlay-Netz
docker service create \
  --name webapp \
  --network mein-overlay \
  --replicas 3 \
  nginx:alpine

Macvlan – Container direkt im LAN

Container erhalten eine echte LAN-IP:

docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 \
  mein-macvlan

docker run -d --network mein-macvlan \
  --ip 192.168.1.200 \
  --name nas-client \
  alpine

Ideal für Legacy-Apps die im gleichen LAN-Segment wie physische Server liegen müssen.

Docker Compose Networking

In docker-compose.yml werden Container automatisch im selben Netz gestartet:

services:
  db:
    image: postgres:16
    networks:
      - backend

  api:
    image: myapi:latest
    networks:
      - backend
      - frontend

  nginx:
    image: nginx:alpine
    networks:
      - frontend
    ports:
      - "80:80"

networks:
  backend:
    driver: bridge
  frontend:
    driver: bridge

api kann mit db kommunizieren. nginx kann mit api kommunizieren. nginx und db sind isoliert.

Diagnose-Befehle

# Container-IP anzeigen
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container-name

# Netzwerk-Verbindungen testen (aus Container)
docker exec -it mein-container ping db

# Container-Ports anzeigen
docker port container-name

# Netzwerk-Traffic mit tcpdump im Container
docker run --rm --net container:nginx nicolaka/netshoot tcpdump -i eth0

FAQ

Warum sollte ich benutzerdefinierte Bridge-Netze nutzen?
Benutzerdefinierte Netze bieten automatisches DNS (Container per Name erreichbar), bessere Isolation und detailliertere Kontrolle über IP-Bereiche.

Kann ich einen Container nachträglich mit einem Netzwerk verbinden?
Ja: docker network connect mein-netz mein-container

Fazit

Das Netzwerkkonzept von Docker ist zunächst verwirrend, aber mit benutzerdefinierten Bridge-Netzen und Docker Compose ist die Container-Kommunikation gut strukturierbar.

Wir unterstützen KMU in Heidelberg und Mannheim beim Aufbau skalierbarer Container-Infrastrukturen. Jetzt anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel