ホームページ  >  記事  >  バックエンド開発  >  データベースの初期化に失敗しました。TCP 127.0.0.1:3306 のダイヤル中にエラーが発生しました: 接続: 接続が拒否されました問題

データベースの初期化に失敗しました。TCP 127.0.0.1:3306 のダイヤル中にエラーが発生しました: 接続: 接続が拒否されました問題

WBOY
WBOY転載
2024-02-06 10:42:041120ブラウズ

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

#質問内容

docker を勉強中です、今から始めましょう しかし、この Docker で実行すると問題が発生します

docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest これが私の .env コードの一部です。 Windows で docker デスクトップを使用していますが、Windows のローカルホストで docker を実行することはできませんか? リーリー ###誰か知っていますか?ご回答いただければ幸いです

ありがとうございます

正解

問題は、コンテナを起動すると、コンテナ内の
127.0.0.1:3306 に接続しようとすることです。ホストの代わりにコンテナ

を使用するため、コンテナ内のローカルホストを実行しているポート 3306 には何もないために接続が拒否され、エラーが発生します。 Windows と Mac の場合、この問題は、

127.0.0.1

の代わりに host.docker.internal を使用することで簡単に修正できます。これにより、コンテナ内で実行されているサービスが、ホスト マシンで実行されている MySQL インスタンスに適切に接続されるようになります。 Linux の場合は、

--network="host"

オプションを docker run コマンド に渡すだけなので、さらに簡単です。

以上がデータベースの初期化に失敗しました。TCP 127.0.0.1:3306 のダイヤル中にエラーが発生しました: 接続: 接続が拒否されました問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。