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
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
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:3306mislukte; - 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
- Controleer of MariaDB actief is en op poort 3306 luistert.
- Controleer of de bedoelde database bestaat en of de inloggegevens bekend zijn.
- Test of Nextcloud de hostnaam van de database kan oplossen.
- Als naamresolutie mislukt, test dan het IP-adres van de databasecontainer.
- Als het IP-adres werkt, herstel dan het Docker-netwerk in plaats van databasewachtwoorden te wijzigen.
- 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.
