Zurück zur Übersicht

Begriff

Container DNS

Containerization Networking S2
3 Quellen 1 Lernpfad 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Früher mussten Programmierer IP-Adressen wissen: "Datenbank ist auf 192.168.1.5". In der Container-Welt ändern sich IPs ständig (siehe ClusterIP). Deshalb brauchen Container ein eigenes Telefonbuch (DNS). Jeder Container bekommt beim Start automatisch die Adresse des internen DNS-Servers (z. B. 127.0.0.11 in Docker). Wenn dein Webserver sagt "Verbinde mit postgres-db", fragt er diesen DNS-Server. Der DNS-Server antwortet sofort mit der aktuellen internen IP des Datenbank-Containers. Du musst dich um IP-Adressen nie wieder kümmern.

Merksatz: Ein internes Namensauflösungssystem innerhalb einer Container-Plattform, das es ermöglicht, Dienste über ihren Namen (z. B. "db", "redis") statt über flüchtige IP-Adressen anzusprechen.


Quick-Check

  1. Was ist "Service Discovery"?
    Der Überbegriff. DNS ist eine Art der Service Discovery (Server-Side). Es gibt auch Client-Side Discovery (App fragt Consul/Eureka API). In K8s ist DNS der Standard.
  2. Warum geht ping google.com im Container manchmal langsam?
    Siehe "ndots:5 Problem". Oder UDP-Timeouts (conntrack race condition) in älteren Kerneln. DNS nutzt UDP, was "Fire-and-Forget" ist und bei hoher Last verloren gehen kann.
  3. Kann ich DNS Einträge manuell setzen?
    Ja, in Docker mit --add-host host:ip (schreibt in /etc/hosts). In K8s mit hostAliases. Nützlich, um externe Legacy-Systeme unter einem festen Namen erreichbar zu machen.