Maison  >  Article  >  base de données  >  Comment corriger les erreurs « ECONNREFUSED » lors de la connexion au conteneur MySQL Docker dans Node.js ?

Comment corriger les erreurs « ECONNREFUSED » lors de la connexion au conteneur MySQL Docker dans Node.js ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 19:46:02166parcourir

How to Fix

Résolution de la connexion Docker MySQL Node.js ECONNREFUSED

Dans Node.js, l'erreur « ECONNREFUSED » indique généralement un échec de connexion lors de la tentative de se connecter à une base de données. Lors de la connexion à une base de données MySQL exécutée dans un conteneur Docker, ce problème peut être résolu en garantissant un mappage de port approprié.

Par défaut, Docker mappe le port hôte à un autre port dans le conteneur. Dans le fichier Docker Compose que vous avez fourni, le conteneur MySQL est exposé sur le port 3307 de l'hôte, tout en écoutant en interne sur le port 3306.

Pour résoudre cet écart, modifiez la configuration Node.js pour spécifier le port correct pour la connexion. vers MySQL :

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

De plus, assurez-vous que la commande Docker Compose utilise le bon port lorsque vous attendez que MySQL devienne disponible :

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

Ces modifications permettront à Node.js de se connecter avec succès au conteneur MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn