Docker内のサーバーPHP処理で、Guzzleで共有サーバーに接続しようとすると、エラーになった。
error
GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve host: remote.address (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for ...
どうやらDocker内から通信しようとしているので、Windowsの/etc/hosts
は見てないらしい。
Dockerコンテナ内の/etc/hostsに自動的に書き込むには、composeを使っているなら、docker-compose.yml
のphpコンテナの記載に追記する。
docker-compose.yml
php:
#.....
extra_hosts:
- "${remote_address}:${actual_ip}"
composeを使っていない場合は以下の記事が参考になる。
参考