Community-Lösung

Nextcloud kann MariaDB auf ZimaOS nicht auflösen: Diagnose und Workaround für Docker-DNS

A January 2026 troubleshooting thread where MariaDB was healthy but Nextcloud repeatedly failed with getaddrinfo for mariadb. Testing the MariaDB container IP let Nextcloud install, confirming a container-name resolution problem rather than a database password or local-access rule issue.

Dieser Nextcloud/MariaDB-Thread vom Januar 2026 ist eines der klarsten Beispiele dafür, warum die Container-Netzwerkdiagnose Schicht für Schicht erfolgen sollte. Der Benutzer installierte separate Nextcloud- und MariaDB-Apps. MariaDB erreichte den stabilen Status „bereit für Verbindungen“, aber Nextcloud schlug während der Ersteinrichtung mit getaddrinfo für mariadb fehlgeschlagenDie Neuinstallation beider Apps und das Löschen ihrer Ordner änderte nichts an dem Fehler.

Der Durchbruch kam, als die Community die tatsächliche Docker-IP-Adresse des MariaDB-Containers testete. Nextcloud begann sofort mit der Installation. Damit war bewiesen, dass der Datenbankserver, die Zugangsdaten und der TCP-Pfad grundsätzlich funktionierten, während der Hostname mariadb konnte aus dem Nextcloud-Container nicht aufgelöst werden.

Der Benutzer wollte eine separate MariaDB-Datenbank für Nextcloud

In frühen Antworten wurden Alternativen wie ein All-in-One-Nextcloud-Image mit integriertem PostgreSQL oder das manuelle Erstellen einer MariaDB-Datenbank und eines Benutzers über phpMyAdmin diskutiert. Diese Vorschläge waren nicht das endgültige Problem. Der Benutzer hatte MariaDB bereits ausgeführt und musste Nextcloud lediglich den Zugriff darauf ermöglichen.

Die MariaDB-Protokolle zeigten, dass die Datenbank fehlerfrei war

MariaDB-Containerprotokoll in ZimaOS mit dem Status „bereit für Verbindungen“ und Überwachung von Port 3306
Das Datenbankprotokoll erreichte einen normalen Status „bereit für Verbindungen“, wodurch ein fehlerhafter MariaDB-Server als Erklärung zunehmend unwahrscheinlich wurde.

Die Community riet ausdrücklich davon ab, MariaDB-Passwörter und Umgebungsvariablen wiederholt zu ändern, nachdem die Datenbank bereits initialisiert worden war. Viele Datenbank-Images wenden Initialisierungsvariablen nur bei der ersten Erstellung des Datenverzeichnisses an.

Der Datenbank-Host muss aus Nextcloud heraus erreichbar sein

Während der Ersteinrichtung von Nextcloud kann das Datenbank-Hostfeld einen Hostnamen und Port enthalten, zum Beispiel:

mariadb:3306

Das funktioniert nur, wenn das Docker-Netzwerk eine Namensauflösung bereitstellt für mariadb aus dem Nextcloud-Container.

getaddrinfo für mariadb fehlgeschlagen – ein DNS-ähnlicher Containerfehler?

Der entscheidende Fehler war:

php_network_getaddresses: getaddrinfo für mariadb fehlgeschlagen

Dies geschieht, bevor MariaDB einen Benutzernamen und ein Passwort akzeptieren oder ablehnen kann. Wenn der Name nicht in eine IP-Adresse aufgelöst werden kann, werden die Datenbankzugangsdaten noch gar nicht geprüft.

Dass beide Apps „Bridge“ anzeigten, löste die Namensauflösung nicht

Der Benutzer bestätigte, dass beide Anwendungen in ZimaOS die Bridge-Netzwerkverbindung anzeigten, aber mariadb Das Problem war weiterhin nicht behoben. Dies ist eine wichtige Docker-Besonderheit: Container, die unabhängig voneinander mit der standardmäßigen Docker-Bridge verbunden sind, erhalten nicht automatisch dasselbe DNS-Verhalten für Dienstnamen wie Dienste, die mit einem benutzerdefinierten Bridge-Netzwerk verbunden sind.

Daher ist „beide verwenden bridge“ kein ausreichender Beleg dafür, dass ein Container den Namen des anderen Containers auflösen kann.

Eine saubere Neuinstallation behob das Netzwerkverhalten nicht

Der Nutzer deinstallierte Nextcloud und MariaDB, löschte ihre Ordner und installierte beide von Grund auf neu. Derselbe Hostname-Fehler trat erneut auf. Dieser Negativtest ist nützlich, da er zeigt, dass das Problem nicht einfach auf veraltete MariaDB-Daten oder ein einmalig falsches Passwort zurückzuführen war.

Eine Nextcloud-Warnung zum lokalen Zugriff war ein separates Problem

Nextcloud-Protokoll auf ZimaOS mit der Meldung, dass ein lokaler Host nicht verbunden war, weil er gegen die Regeln für den lokalen Zugriff verstößt
Der Ausgangsthread zeigte außerdem eine Warnung zu einer Nextcloud-Regel für den lokalen Zugriff. Sie trat jedoch auf einer anderen Ebene auf als der nicht aufgelöste MariaDB-Hostname.

Der Nutzer fand online den Vorschlag, Folgendes zu aktivieren: allow_local_remote_servers. Die Aktivierung dieser Einstellung während der Ersteinrichtung führte dazu, dass Nextcloud nicht mehr ordnungsgemäß startete. Die Community erklärte, dass diese Option eine andere Nextcloud-Sicherheitsregel betraf und die Docker-Namensauflösung nicht behob.

Die Community wechselte anschließend zu direkten Docker-Netzwerktests

Der Antwortende bat um folgende Prüfungen:

  • ob beide Container ausgeführt wurden;
  • den von Docker gemeldeten tatsächlichen Netzwerkmodus;
  • ob Nextcloud die Adresse auflösen oder anpingen konnte mariadb;
  • die aktuelle Docker-IP-Adresse des MariaDB-Containers.

Dies ist die richtige Eskalationsstufe, nachdem Konfigurations-Screenshots das Verhalten nicht mehr erklären: Testen Sie die Verbindung aus demselben Netzwerk-Namespace, in dem Nextcloud ausgeführt wird.

Die MariaDB-Container-IP-Adresse ermöglichte die Installation von Nextcloud

Der entscheidende Test bestand darin, zu ersetzen: mariadb:3306 vorübergehend mit der Docker-IP-Adresse und dem Port des MariaDB-Containers. Der ursprüngliche Nutzer antwortete, dass Nextcloud anschließend installiert wurde.

Der Antwortende fasste das Ergebnis klar zusammen:

  • mariadb:3306 fehlgeschlagen;
  • Die direkte Docker-IP-Adresse am Port 3306 funktionierte sofort.

Das ist ein starker Hinweis auf ein Problem bei der Auflösung des Containernamens.

Eine direkte Container-IP-Adresse ist ein gültiger Diagnose-Workaround

Die Verwendung der IP-Adresse beweist, dass die Datenbank erreichbar ist, und ermöglicht die Fortsetzung der Installation. Im Ausgangsfall war dies ein wirksamer Workaround.

Automatisch zugewiesene Container-IP-Adressen können sich jedoch ändern, wenn ein Container neu erstellt, entfernt oder mit einem anderen Netzwerk verbunden wird. Eine Einrichtung, die dauerhaft von 172.17.x.x kann später ohne Änderungen an der Nextcloud- oder MariaDB-Konfiguration ausfallen.

Ein benutzerdefiniertes Docker-Netzwerk ist langfristig die bessere Lösung

Die robustere Architektur besteht darin, Nextcloud und MariaDB mit demselben benutzerdefinierten Docker-Netzwerk zu verbinden und einen stabilen Dienst- oder Containernamen als Datenbankhost zu verwenden. Docker stellt in benutzerdefinierten Netzwerken speziell dafür ein integriertes DNS bereit.

Die native Bearbeitung von YAML in ZimaOS macht diese Art von Netzwerkdefinition einfacher als zu dem Zeitpunkt, als der ursprüngliche Thread erstellt wurde. Verwenden Sie das aktuelle ZimaOS-Compose-Konfigurationsmodell, wenn Sie ein gemeinsames Nextcloud- und MariaDB-Netzwerk erstellen.

MariaDB-Daten bewusst beibehalten

Wenn MariaDB bereits eine funktionierende Nextcloud-Datenbank enthält, löschen Sie nicht einfach ihr persistentes Datenverzeichnis, nur um das Docker-Netzwerk zu ändern. Die Netzwerkzugehörigkeit kann geändert werden, ohne die Datenbankinhalte neu zu erstellen.

Erstellen Sie vor jeder Migration ein Backup der Datenbank und notieren Sie den aktuellen Benutzer, den Datenbanknamen und die Zuordnung der Volumes.

Deaktivieren Sie nicht die Nextcloud-Sicherheitskontrollen, um das Docker-DNS zu reparieren.

Einstellungen wie vertrauenswürdige Domains, der Zugriff auf lokale Remote-Server und die Reverse-Proxy-Konfiguration schützen Nextcloud auf der HTTP-/Anwendungsebene. Sie sollten nur geändert werden, wenn der entsprechende Nextcloud-Fehler dies erfordert.

A getaddrinfo Der Fehler beim Datenbank-Hostnamen gehört zur Docker-Netzwerkschicht.

Ein besserer Diagnosebaum

  1. Bestätigen Sie, dass MariaDB ausgeführt wird und auf Port 3306 lauscht.
  2. Bestätigen Sie, dass die vorgesehene Datenbank vorhanden ist und die Zugangsdaten bekannt sind.
  3. Testen Sie, ob Nextcloud den Datenbank-Hostnamen auflösen kann.
  4. Wenn die Hostnamenauflösung fehlschlägt, testen Sie die IP-Adresse des Datenbankcontainers.
  5. Wenn die IP-Adresse funktioniert, beheben Sie das Docker-Netzwerk, statt die Datenbankpasswörter zu ändern.
  6. Verschieben Sie beide Container in ein stabiles, benutzerdefiniertes Netzwerk, um einen dauerhaften Hostnamen zu erhalten.

FAQ zu Nextcloud und MariaDB

War MariaDB selbst defekt?

Nein. Das Protokoll zeigte, dass der Container für Verbindungen bereit war.

Was bedeutete „getaddrinfo for mariadb failed“?

Nextcloud konnte den Datenbank-Hostnamen nicht auflösen, bevor überhaupt die Authentifizierungsphase erreicht wurde.

Was bestätigte die Diagnose?

Die Verwendung der direkten Docker-IP-Adresse des MariaDB-Containers ermöglichte es Nextcloud, mit der Installation zu beginnen.

Soll die direkte Container-IP dauerhaft als Datenbankhost verwendet werden?

Es kann funktionieren, aber ein gemeinsam genutztes, benutzerdefiniertes Docker-Netzwerk mit stabiler Namensauflösung ist robuster.

Hat die Neuinstallation beider Apps das Problem behoben?

Nein. Der Quellbenutzer hat eine saubere Neuinstallation durchgeführt, und derselbe Fehler bei der Hostnamenauflösung trat erneut auf.