résolution dns lente vers l'extérieur depuis mes conteneurs docker

Posté par mathilde-briand le 09/10/2025
RÉSOLU

mathilde-briand

Membre depuis le 04/08/2024

salut les gars

j'ai un problème de dns depuis mes conteneurs docker. quand ils essaient de résoudre des noms de domaine extérieurs genre

google.com
ou n'importe quoi d'autre c'est super lent genre 5-10 secondes. la résolution en interne entre conteneurs ça va vite

les conteneurs tournent sur un docker-compose. le

/etc/resolv.conf
dans les conteneurs pointe vers le DNS interne de docker (127.0.0.11). si je fais un
dig
depuis le host c'est instantané. c'est vraiment spécifique aux conteneurs pour l'extérieur

Commentaires

laurent36

Membre depuis le 30/01/2025

yo ça sent le souci de

netfilter
ou
conntrack
sur le host docker. le DNS par défaut de Docker c'est un proxy qui forwarde les requêtes. si ta table
conntrack
est full ou mal configurée ça peut créer des latences de dingue. et t'as pas de limite de rate sur l'udp 53 quelque part ?

thibaut62

Membre depuis le 15/08/2024

aussi vérifie ton

/etc/resolv.conf
sur le host lui-même. si tu as des serveurs DNS qui ne répondent pas vite ou qui sont down ça peut ralentir le proxy DNS de Docker. il tente chaque serveur en série avant de passer au suivant. vire les serveurs DNS morts ou lents de ton host

mathilde-briand

Membre depuis le 04/08/2024

j'ai bien

nameserver 127.0.0.53
sur le host qui est
systemd-resolved
et lui forwarde vers des dns publics rapides. j'ai regardé les logs de
systemd-resolved
et il n'y a pas d'erreurs ni de latence. par contre j'ai vu sur un forum un truc sur les options de
resolv.conf
genre
options single-request-reopen

laurent36

Membre depuis le 30/01/2025

ah oui

single-request-reopen
c'est une bonne piste ! c'est pour les clients DNS qui ne gèrent pas bien les requêtes concurrentes sur la même socket UDP. Docker proxy ouvre plusieurs sockets pour les requêtes mais si le résolveur en amont galère avec ça bah ça traîne. tu peux essayer d'ajouter ça dans ton
daemon.json
de Docker ou directement dans le
resolv.conf
généré

mathilde-briand

Membre depuis le 04/08/2024

c'était ça ! j'ai ajouté

options single-request-reopen
dans la section
dns
de mon
daemon.json
de docker et relancé le daemon. maintenant les requêtes dns sont quasi instantanées depuis les conteneurs. nickel merci pour l'aide !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire