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 ?
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
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
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é
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 !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
mathilde-briand
Membre depuis le 18/01/2021actif
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
ou n'importe quoi d'autre c'est super lent genre 5-10 secondes. la résolution en interne entre conteneurs ça va viteles conteneurs tournent sur un docker-compose. le
dans les conteneurs pointe vers le DNS interne de docker (127.0.0.11). si je fais un depuis le host c'est instantané. c'est vraiment spécifique aux conteneurs pour l'extérieur