首頁  >  文章  >  資料庫  >  如何修復在 Node.js 中連接到 MySQL Docker 容器時的“ECONNREFUSED”錯誤?

如何修復在 Node.js 中連接到 MySQL Docker 容器時的“ECONNREFUSED”錯誤?

Barbara Streisand
Barbara Streisand原創
2024-11-10 19:46:02165瀏覽

How to Fix

解決Node.js MySQL Docker 連接ECONNREFUSED

在Node.js 中,錯誤「ECONNREFUSED」通常表示嘗試連接時出現連接失敗連接到資料庫。當連接到 Docker 容器內執行的 MySQL 資料庫時,可以透過確保正確的連接埠對映來解決此問題。

預設情況下,Docker 將主機連接埠對應到容器內的不同連接埠。在您提供的 Docker Compose 檔案中,MySQL 容器在主機上的連接埠 3307 上公開,同時在內部偵聽連接埠 3306。

要解決此差異,請修改Node.js 配置以指定用於連接的正確連接埠到MySQL:

const config = {
  host: 'mysql', // Use the container name
  database: 'mydb',
  port: '3306', // Use the internal container port
  user: 'mysql',
  password: '1234',
  connectionLimit: 10
};

此外,請確保Docker Compose 命令在等待MySQL 可用時使用正確的連接埠:

command: ["./wait-for-it.sh", "mysql:3306"]

這些修改將允許Node.js 連接成功連接到MySQL容器。

以上是如何修復在 Node.js 中連接到 MySQL Docker 容器時的“ECONNREFUSED”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn