Bagaimana untuk Membetulkan Ralat 'ECONNREFUSED' Semasa Menyambung ke Kontena Docker MySQL dalam Node.js?

Barbara Streisand
Lepaskan: 2024-11-10 19:46:02
asal
173 orang telah melayarinya

How to Fix

Menyelesaikan Node.js MySQL Docker Connection ECONNREFUSED

Dalam Node.js, ralat "ECONNREFUSED" biasanya menunjukkan kegagalan sambungan apabila cuba untuk menyambung ke pangkalan data. Apabila menyambung ke pangkalan data MySQL yang berjalan dalam bekas Docker, isu ini boleh diselesaikan dengan memastikan pemetaan port yang betul.

Secara lalai, Docker memetakan port hos ke port lain dalam bekas. Dalam fail Docker Compose yang anda berikan, bekas MySQL didedahkan pada port 3307 pada hos, sambil mendengar secara dalaman pada port 3306.

Untuk menyelesaikan percanggahan ini, ubah suai konfigurasi Node.js untuk menentukan port yang betul untuk menyambung ke MySQL:

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

Selain itu, pastikan arahan Docker Compose menggunakan port yang betul semasa menunggu MySQL menjadi tersedia:

command: ["./wait-for-it.sh", "mysql:3306"]
Salin selepas log masuk

Pengubahsuaian ini akan membolehkan Node.js menyambung ke bekas MySQL dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'ECONNREFUSED' Semasa Menyambung ke Kontena Docker MySQL dalam Node.js?. 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