Rumah > pangkalan data > tutorial mysql > Mengapa Apl Node.js Saya Mendapat Ralat ECONNREFUSED Apabila Menyambung ke Bekas Docker MySQL?

Mengapa Apl Node.js Saya Mendapat Ralat ECONNREFUSED Apabila Menyambung ke Bekas Docker MySQL?

Linda Hamilton
Lepaskan: 2024-11-11 00:01:03
asal
600 orang telah melayarinya

Why Does My Node.js App Get an ECONNREFUSED Error When Connecting to a MySQL Docker Container?

Sambungan Node.js ke MySQL Docker Container ECONNREFUSED

Isu:

Walaupun mempunyai Docker mengarang fail dengan bekas MySQL dan Node.js yang dipautkan, Node.js apl menghadapi ralat ECONNREFUSED semasa cuba menyambung ke bekas MySQL menggunakan port 3307.

Analisis:

Fail karang Docker memetakan port 3307 hos kepada 3306 dalam bekas. Walau bagaimanapun, bekas MySQL sedang mendengar pada 3306 secara dalaman. Ini membawa kepada isu di mana Node.js cuba menyambung ke port 3307 hos, yang bukan port yang didengari oleh bekas.

Penyelesaian:

Untuk menyelesaikan isu ini, laraskan konfigurasi MySQL dan fail karang Docker seperti berikut:

MySQL yang diubah suai Konfigurasi:

const config = {
    host: 'mysql',  // Use the MySQL container DNS name
    database: 'mydb',
    port: '3306',  // Match the port the MySQL container is listening on
    user: 'mysql',
    password: '1234',
    connectionLimit: 10
}
Salin selepas log masuk

Fail Karang Docker Terubah Suai:

command: ["/bin/bash", "./wait-for-it.sh", "mysql:3306"]  // Match the port MySQL is listening on
Salin selepas log masuk

Dengan membuat pengubahsuaian ini, apl Node.js kini akan bersambung ke MySQL bekas menggunakan port yang betul dan ralat ECONNREFUSED harus diselesaikan.

Atas ialah kandungan terperinci Mengapa Apl Node.js Saya Mendapat Ralat ECONNREFUSED Apabila Menyambung ke Bekas Docker MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan