容器退出的时候没有收到kill 信号

2019-07-15  本文已影响0人  Shaman

解决node 程序退出时候没有注销Eureka 的问题

现象:

升级服务或者缩容服务的时候,容器关闭的同时未在Eureka 上注销, 会导致出现大量错误请求。

原因:

容器退出的时候进程号为 1 的进程会收到 stop 的信号,从而程序自己可以实现优雅的退出,完成一系列收尾工作,在这里优雅的退出包含了从Eureka 中注销掉当前实例。

如果用Dockerfile 里面 写的是 CMD [“npm”, "start"] 则node 进程无法接受到这个信号

解决办法:

改为 CMD [“node”, "app.js"]

或者

参考 即刻技术团队 - 实现真正优雅的容器应用

上一篇下一篇

猜你喜欢

热点阅读