如何修复 docker NodeJS 容器不关闭

在 docker 容器中运行 NodeJS 服务器时,你经常会遇到容器不能正确关闭而是需要很长时间(几分钟)才能关闭的问题。

要修复此问题,将以下代码添加到你的主 NodeJS 文件中(通常你应该将其添加到文件顶部以确保没有任何东西阻止它执行)

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);
});

一旦收到 SIGINTSIGTERM,这将强制 NodeJS(或多或少立即)退出。通常,Docker 在容器关闭时发送 SIGTERM

背景信息

查看此 GitHub 指南


Check out similar posts by category: NodeJS