Communityoplossing

Nextcloud kan MariaDB op ZimaOS niet vinden: diagnose en workaround voor 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.

Deze Nextcloud/MariaDB-discussie uit januari 2026 is een van de duidelijkste voorbeelden van waarom containernetwerken laag voor laag moeten worden gediagnosticeerd. De gebruiker installeerde afzonderlijke Nextcloud- en MariaDB-apps; MariaDB bereikte een gezonde status waarin verbindingen konden worden geaccepteerd, maar Nextcloud mislukte tijdens de eerste installatie met getaddrinfo voor mariadb is misluktBeide apps opnieuw installeren en hun mappen verwijderen veranderde de fout niet.

De doorbraak kwam toen de community het daadwerkelijke Docker-IP-adres van de MariaDB-container testte. Nextcloud begon onmiddellijk met installeren. Daarmee werd bewezen dat de databaseserver, de inloggegevens en de TCP-route in principe functioneerden, terwijl de hostnaam mariadb werd niet opgelost vanuit de Nextcloud-container.

De gebruiker wilde een afzonderlijke MariaDB-database voor Nextcloud

In vroege reacties werden alternatieven besproken, zoals een alles-in-één-Nextcloud-image met PostgreSQL ingebouwd, of het handmatig aanmaken van een MariaDB-database en gebruiker via phpMyAdmin. Die suggesties vormden niet het uiteindelijke probleem. De brongebruiker had MariaDB al draaien en moest Nextcloud ermee laten verbinden.

MariaDB-logboeken lieten zien dat de database gezond was

MariaDB-containerlogboek op ZimaOS met de status dat verbindingen konden worden geaccepteerd en dat er naar poort 3306 werd geluisterd
Het databaselogboek bereikte een normale status waarin verbindingen konden worden geaccepteerd, waardoor een defecte MariaDB-server steeds onwaarschijnlijker werd.

De community raadde terecht af om MariaDB-wachtwoorden en omgevingsvariabelen steeds opnieuw te wijzigen nadat de database al was geïnitialiseerd. Veel database-images passen initialisatievariabelen alleen toe bij het voor het eerst aanmaken van de gegevensmap.

De databasehost moet bereikbaar zijn vanuit Nextcloud

Tijdens de eerste installatie van Nextcloud kan het veld voor de databasehost een hostnaam en poort bevatten, zoals:

mariadb:3306

Dat werkt alleen wanneer Docker-netwerken naamresolutie bieden voor mariadb uit de Nextcloud-container.

getaddrinfo voor mariadb is mislukt — is dit een DNS-achtige containerfout?

De belangrijkste foutmelding was:

php_network_getaddresses: getaddrinfo voor mariadb is mislukt

Dit gebeurt voordat MariaDB een gebruikersnaam en wachtwoord kan accepteren of weigeren. Als de naam niet naar een IP-adres kan worden omgezet, worden de databasegegevens nog niet gecontroleerd.

Dat beide apps “Bridge” aangaven, loste de naamresolutie niet op

De brongebruiker bevestigde dat beide applicaties Bridge-netwerken in ZimaOS gebruikten, maar mariadb nog steeds niet opgelost. Dit is een belangrijke Docker-nuance: containers die afzonderlijk met Docker's standaard bridge zijn verbonden, krijgen niet automatisch dezelfde DNS-functionaliteit voor servicenamen als services die met een door de gebruiker gedefinieerd bridge-netwerk zijn verbonden.

Daarom is “beide geven bridge aan” geen afdoend bewijs dat de ene container de containernaam van de andere kan omzetten.

Een schone herinstallatie loste het netwerkgedrag niet op

De gebruiker verwijderde zowel Nextcloud als MariaDB, verwijderde hun mappen en installeerde ze opnieuw vanaf nul. Dezelfde hostnaamfout verscheen opnieuw. Deze negatieve test is nuttig omdat hij laat zien dat het probleem niet eenvoudigweg werd veroorzaakt door verouderde MariaDB-gegevens of een eenmalig verkeerd wachtwoord.

Een waarschuwing voor lokale toegang in Nextcloud was een afzonderlijk probleem

Nextcloud-logboek op ZimaOS met de melding dat een lokale host geen verbinding mocht maken omdat deze in strijd was met de regels voor lokale toegang
De brondiscussie liet ook een waarschuwing zien over lokale toegang in Nextcloud, maar die deed zich voor op een andere laag dan de niet-opgeloste MariaDB-hostnaam.

De gebruiker vond online een suggestie om allow_local_remote_servers. Het toepassen van die instelling tijdens de eerste configuratie zorgde ervoor dat Nextcloud niet meer correct opstartte. De community legde uit dat deze optie een andere beveiligingsregel van Nextcloud betrof en het probleem met het omzetten van Docker-namen niet oploste.

De community schakelde vervolgens over op rechtstreekse tests van het Docker-netwerk

De beantwoorder vroeg om controles van:

  • of beide containers actief waren;
  • de daadwerkelijke netwerkmodus die door Docker werd gerapporteerd;
  • of Nextcloud kon omzetten of pingen mariadb;
  • het huidige Docker-IP-adres van de MariaDB-container.

Dit is de juiste vervolgstap nadat configuratieschermafbeeldingen het gedrag niet meer verklaren: test de verbinding vanuit dezelfde netwerknaamruimte waarin Nextcloud draait.

Met het IP-adres van de MariaDB-container kon Nextcloud worden geïnstalleerd

De doorslaggevende test was het vervangen van mariadb:3306 tijdelijk met het Docker-IP-adres en de poort van de MariaDB-container. De gebruiker uit de bron antwoordde dat Nextcloud daarna werd geïnstalleerd.

De beantwoorder vatte het resultaat duidelijk samen:

  • mariadb:3306 mislukte;
  • het rechtstreekse Docker-IP-adres op poort 3306 werkte onmiddellijk.

Dat is sterk bewijs voor een probleem met het omzetten van de containernaam.

Een rechtstreeks container-IP-adres is een geldige diagnostische tijdelijke oplossing

Het gebruik van het IP-adres bewijst dat de database bereikbaar is en maakt het mogelijk de installatie voort te zetten. Voor de broncasus was dit een effectieve tijdelijke oplossing.

Maar automatisch toegewezen container-IP-adressen kunnen veranderen wanneer een container opnieuw wordt aangemaakt, verwijderd of aan een ander netwerk wordt gekoppeld. Een configuratie die permanent afhankelijk is van 172.17.x.x kan later problemen veroorzaken zonder dat er iets aan de Nextcloud- of MariaDB-configuratie verandert.

Een door de gebruiker gedefinieerd Docker-netwerk is op de lange termijn een beter ontwerp

De robuustere architectuur is om Nextcloud en MariaDB aan hetzelfde, door de gebruiker gedefinieerde Docker-netwerk te koppelen en een stabiele service- of containernaam als databasehost te gebruiken. Docker biedt op door de gebruiker gedefinieerde netwerken ingebouwde DNS, specifiek voor dit doel.

Dankzij het huidige systeem voor het bewerken van native YAML in ZimaOS is dit soort netwerkdefinitie eenvoudiger dan toen de oorspronkelijke discussie werd gestart. Gebruik het huidige ZimaOS Compose-configuratiemodel bij het opbouwen van een gedeeld Nextcloud- en MariaDB-netwerk.

Behoud MariaDB-gegevens doelbewust

Als MariaDB al een werkende Nextcloud-database bevat, verwijder dan niet zomaar de permanente gegevensmap om alleen de Docker-netwerkconfiguratie te wijzigen. De netwerkdeelname kan worden gewijzigd zonder de database-inhoud opnieuw aan te maken.

Maak vóór elke migratie een back-up van de database en noteer de huidige gebruiker, databasenaam en volumekoppeling.

Schakel de beveiligingsmaatregelen van Nextcloud niet uit om Docker-DNS te herstellen

Instellingen zoals vertrouwde domeinen, lokale toegang tot externe servers en reverse-proxyconfiguratie beschermen Nextcloud op de HTTP-/applicatielaag. Ze mogen alleen worden gewijzigd wanneer de overeenkomstige Nextcloud-fout daarom vraagt.

A getaddrinfo De fout bij de hostnaam van de database behoort tot de netwerklaag van Docker.

Een betere diagnoseboom

  1. Controleer of MariaDB actief is en op poort 3306 luistert.
  2. Controleer of de bedoelde database bestaat en of de inloggegevens bekend zijn.
  3. Test of Nextcloud de hostnaam van de database kan oplossen.
  4. Als naamresolutie mislukt, test dan het IP-adres van de databasecontainer.
  5. Als het IP-adres werkt, herstel dan het Docker-netwerk in plaats van databasewachtwoorden te wijzigen.
  6. Verplaats beide containers naar een stabiel, door de gebruiker gedefinieerd netwerk voor een duurzame hostnaam.

Veelgestelde vragen over Nextcloud en MariaDB

Was MariaDB zelf defect?

Nee. Uit het logboek bleek dat de server gereed was om verbindingen te accepteren.

Wat betekende de foutmelding ‘getaddrinfo for mariadb failed’?

Nextcloud kon de hostnaam van de database niet oplossen voordat het zelfs maar de authenticatiefase bereikte.

Wat bevestigde de diagnose?

Door het directe Docker-IP-adres van de MariaDB-container te gebruiken, kon Nextcloud met de installatie beginnen.

Moet het directe IP-adres van de container permanent als databasehost worden gebruikt?

Het kan werken, maar een gedeeld, door de gebruiker gedefinieerd Docker-netwerk met stabiele naamresolutie is robuuster.

Heeft het opnieuw installeren van beide apps het probleem opgelost?

Nee. De gebruiker voerde een schone herinstallatie uit en dezelfde fout bij het oplossen van de hostnaam trad opnieuw op.