背景 docker-composeを使い、phpfpmコンテナとmysqlコンテナを作り、phpfpmの方からpdoでmysqlにアクセスする処理を書いたのですが、dsnやuser、passが合っているはずなのに何度やってもConnectionRefusedになってしまいました。 色々調べたり試したりしていった結果dsnで指定していたホストが間違っていたことが分かりました。個人的にとても勉強になったのでエラーを解消した手順や結果等をまとめます。 結論 ・ホストPC(Mac)⇄コンテナ間通信で使われるIPとコンテナ同士の通信で使われるIPは異なる ・今回のようにphpfpmコンテナ⇄mysqlコンテナの通信の場合は、docker-compose psで表示されるホストではなく、コンテナの環境変数で確認出来るホストを使う <追記> ・Twitterで教えて頂いたのですが、Docker-comp