とても限定的な環境ですが、仕事で使っているIntel MacBook Pro上のDocker環境で表題のエラーが発生して困っていたのを、おそらく、解消できたのでメモします。
- ハードウェア:13-inch, 2018, Four Thunderbolt 3 Ports
- OS:13.0.1
- Docker Desktop:4.15.0 (93002)
PHPのライブラリであるGuzzlehttpを使って、Box APIにファイルをチャンクに分割してアップロードする、Uploads (Chunked) APIを使い、並列度10以上でファイル転送していると頻繁に下記のエラーが発生しました。
cURL error 7: Failed to connect to api.box.com port 443: No route to host (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.box.com/2.0/folders/<folder_id>/items in <ソースのファイル名>
一度これが出ると、Docker Desktopをrestartするまで出続けるという現象が発生していました。
対処方法は、下記のスクリーンショットにある、Preferences > General > Use Virtualization frameworkのチェックを外します。これにより、前述のエラーが発生しなくなりました。
この対処方法は、下記の記事を参考にしました。
https://forums.docker.com/t/192-168-65-1-connect-no-route-to-host/109264/6