Node.js stellt eine Verbindung zum MySQL-Docker-Container ECONNREFUSED her
Beim Versuch, mit Node.js eine Verbindung zu einem MySQL-Docker-Container herzustellen, tritt ein ECONNREFUSED-Fehler auf (z. B. ECONNREFUSED 127.0.0.1:3307) auftreten. Dieser Fehler weist darauf hin, dass Node.js keine Verbindung zum MySQL-Container herstellen kann.
Docker Compose-Konfiguration
Wie in der bereitgestellten Datei docker-compose.yml veranschaulicht , ist es wichtig zu verstehen, dass die Portzuordnungskonfiguration (z. B. 3307:3306) nur angibt, wie Docker Host-Ports Container-Ports zuordnet. Der Container selbst überwacht weiterhin seinen Standardport (z. B. 3306 für MySQL).
Node.js-Verbindungskonfiguration
Um den ECONNREFUSED-Fehler zu beheben, stellen Sie sicher, dass der Node Die .js-Anwendung ist so konfiguriert, dass sie eine Verbindung zum internen Port des MySQL-Containers herstellt. Im bereitgestellten Beispiel sollte die Host-Eigenschaft auf „mysql“ und die Port-Eigenschaft auf „3306“ festgelegt werden.
const config = { host: 'mysql', database: 'mydb', port: '3306', user: 'mysql', password: '1234', connectionLimit: 10 };
Befehl in Docker Compose
Außerdem sollte die Befehlseigenschaft in der Datei docker-compose.yml aktualisiert werden, um statt auf Port 3306 auf MySQL zu warten 3307.
command: ["./wait-for-it.sh", "mysql:3306"]
Hinweis: Es wird empfohlen, das Skript „wait-for-it.sh“ zu verwenden, um sicherzustellen, dass der MySQL-Container vollständig initialisiert ist, bevor versucht wird, eine Verbindung über Node.js herzustellen. Dieses Skript kann von https://github.com/vishnubob/wait-for-it bezogen werden.
Durch Befolgen dieser Schritte sollte es möglich sein, eine Verbindung zwischen der Node.js-Anwendung und MySQL herzustellen Docker-Container.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine ECONNREFUSED-Fehlermeldung, wenn ich von Node.js aus eine Verbindung zu meinem MySQL-Docker-Container herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!