Maison  >  Article  >  développement back-end  >  Délai d'expiration de Docker Compose avec UnixHTTPConnectionPool : quelles en sont les causes et comment y remédier ?

Délai d'expiration de Docker Compose avec UnixHTTPConnectionPool : quelles en sont les causes et comment y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-12 08:14:02261parcourir

Docker Compose Timeout with UnixHTTPConnectionPool: What Causes It and How to Fix It?

Délai d'expiration de Docker Compose avec UnixHTTPConnectionPool : dépannage et solutions de contournement

Dans le domaine de l'orchestration de conteneurs, docker-compose up est un outil indispensable pour apporter configurer plusieurs conteneurs Docker simultanément. Cependant, il arrive parfois que les utilisateurs rencontrent une erreur déconcertante qui bloque le processus : les délais d'attente de lecture d'UnixHTTPConnectionPool.

Dans un article récent, un ingénieur logiciel a été confronté à ce problème dans un environnement de test Jenkins avec de nombreux (20) tests impliquant un grand nombre de de prestations (14 ). Par intermittence, l'erreur suivante est apparue :

ERROR: for testdb-data UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
An HTTP request took too long to complete.

Après un dépannage exhaustif, la cause première de cette erreur reste insaisissable. Une hypothèse possible est une corrélation avec la pleine utilisation des ressources de l'agent, mais les preuves concrètes font défaut.

Néanmoins, deux solutions de contournement potentielles ont émergé comme solutions temporaires :

  • Redémarrer le service Docker : En exécutant sudo systemctl restart docker, les utilisateurs peuvent potentiellement résoudre le problème problème.
  • Définition des variables d'environnement : L'attribution de délais d'attente appropriés à DOCKER_CLIENT_TIMEOUT et COMPOSE_HTTP_TIMEOUT peut fournir une certaine atténuation. Un paramètre raisonnable pour les deux variables est 120, ce qui prolonge le délai d'expiration de connexion par défaut de 60 secondes.

Le problème n'est pas propre à l'environnement décrit, car des problèmes associés ont été signalés dans Docker Compose GitHub. référentiel :

  • https://github.com/docker/compose/issues/3927
  • https://github.com/ docker/compose/issues/4486
  • https://github.com/docker/compose/issues/3834

Pendant une solution permanente est toujours attendue, l'utilisation des solutions de contournement susmentionnées peut offrir un certain répit jusqu'à ce qu'un correctif définitif soit disponible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn