Maison > Article > base de données > Comment corriger les erreurs « ECONNREFUSED » lors de la connexion au conteneur MySQL Docker dans Node.js ?
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!