Wie man behebt, dass der Docker-NodeJS-Container nicht herunterfährt
English
Deutsch
Wenn Sie einen NodeJS-Server in einem Docker-Container ausführen, werden Sie oft auf das Problem stoßen, dass der Container nicht ordnungsgemäß herunterfährt, sondern lange (mehrere Minuten) zum Herunterfahren braucht.
Um dies zu beheben, fügen Sie den folgenden Code zu Ihrer Haupt-NodeJS-Datei hinzu (typischerweise sollten Sie ihn am Anfang der Datei hinzufügen, um sicherzustellen, dass nichts seine Ausführung verhindert):
docker_node_signal_handlers.js
process.on('SIGTERM', function() {
console.log('SIGTERM received, shutting down...');
process.exit(0);
});
process.on('SIGINT', function() {
console.log('SIGINT received, shutting down...');
process.exit(0);
});Dies wird NodeJS zwingen, (mehr oder weniger sofort) zu beenden, sobald entweder SIGINT oder SIGTERM empfangen wird. Typischerweise sendet Docker SIGTERM beim Herunterfahren des Containers.
Hintergrundinformationen
Siehe diese GitHub-Anleitung
Check out similar posts by category:
NodeJS
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow