技術質問

DockerでMySQLコンテナに接続できない(接続拒否)

docker-compose up でMySQLを立ち上げてPHPから接続しようとするとConnection refusedになります。ポートは3306:3306で開けています。PHP側のhostnameをlocalhostにしていたのですが、コンテナ名に変えても同じエラーです。何が原因でしょうか?
@yamamoto_eng 2025年02月02日 20:00 👁 575 💬 3 返信
// 3 REPLIES
S
@suzuki_infra 2025/02/02 21:00 #1
MySQLの起動完了前にPHPが接続しようとしているケースが多いです。depends_onにhealthcheckを設定してみてください。condition: service_healthy を使うと確実です。
I
@ito_frontend 2025/02/02 22:30 #2
hostnameは必ずサービス名(db)にしてください。localhostだとコンテナ内を指してしまいます。これが原因の可能性が高いです。
Y
@yamamoto_eng 2025/02/03 10:00 #3
healthcheckとdepends_on設定で解決しました!ありがとうございます。hostnameもdbに変えてたのですが起動タイミングの問題でした。

返信するには会員登録またはログインが必要です

← スレッド一覧に戻る