起動中に Docker Compose がタイムアウトに遭遇する
Jenkins エージェントで docker-compose up を実行すると、UnixHTTPConnectionPool が原因でタイムアウト エラーが発生する場合があります。このエラー メッセージは、HTTP リクエストの完了に時間がかかりすぎて接続タイムアウトが発生したことを示しています。
考えられる原因
このタイムアウトの正確な原因は不明のままです。ただし、複数の docker-compose サービスが関与する広範なセットアップ操作を実行するときに、この問題が散発的に観察されています。エージェントでの高いリソース使用率との相関関係を推測する人もいます。
回避策
永続的な解決策が見つかるまで、次の 2 つの回避策が特定されています:
-
再起動Docker サービス: sudo systemctl restart docker を使用して docker サービスを再起動すると、問題を解決できます。
-
タイムアウト変数の設定: 環境変数 DOCKER_CLIENT_TIMEOUT および COMPOSE_HTTP_TIMEOUT をより高い値 (例: 120) に設定すると、タイムアウト期間をさらに延長できます。この回避策を実装するには、コマンドexport DOCKER_CLIENT_TIMEOUT=120およびexport COMPOSE_HTTP_TIMEOUT=120を使用します。
関連する問題
他のユーザーが次のGitHubで同様の問題を報告しています。リポジトリ:
- https://github.com/docker/compose/issues/3927
- https://github .com/docker/compose/issues/4486
- https://github.com/docker/compose/issues/3834
以上がDocker が Jenkins エージェントの起動中にタイムアウトを作成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。