解決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中文網其他相關文章!