Maison > Article > développement back-end > Comment corriger les délais d'attente « UnixHTTPConnectionPool » lors de l'exécution de Docker-Compose Up ?
Résoudre le délai d'attente de Docker-Compose avec UnixHTTPConnectionPool
Dans le domaine de l'intégration continue, où les pipelines orchestrent les tests sur les agents Jenkins, un contretemps occasionnel peut surgir. L'un de ces problèmes rencontrés est le délai d'expiration frustrant de "UnixHTTPConnectionPool" lors de l'exécution de docker-compose up.
Après enquête, il a été découvert que l'erreur se produisait souvent lors de l'installation, ce qui impliquait de faire tourner une pléthore de conteneurs via docker-compose. . De plus, le symptôme semblait sporadique et un modèle le liant aux ressources système n'avait pas encore été établi.
Après un débogage méticuleux, deux solutions de contournement ont émergé pour résoudre efficacement le problème : redémarrer le service Docker (sudo systemctl restart docker) et configurer les variables d'environnement DOCKER_CLIENT_TIMEOUT et COMPOSE_HTTP_TIMEOUT (export DOCKER_CLIENT_TIMEOUT=120 ; export COMPOSE_HTTP_TIMEOUT=120).
Référence aux problèmes GitHub pertinents (https://github.com/docker/compose/issues/3927, https://github.com/docker/compose/issues/4486, https : //github.com/docker/compose/issues/3834) fait la lumière sur la cause sous-jacente. Ces problèmes indiquent des conditions de concurrence potentielles et des problèmes de communication entre les clients Docker et les serveurs.
En étendant les paramètres de délai d'attente, suffisamment de temps est accordé pour que la connexion s'établisse, atténuant ainsi le redoutable délai d'attente "UnixHTTPConnectionPool" et assurant le bon fonctionnement. exécution de pipelines de tests.
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!