Currently, the Node.js distroless container runs the Node.js process as PID 1:
# ps
PID USER TIME COMMAND
1 root 0:00 /nodejs/bin/node
27 root 0:00 sh
33 root 0:00 ps
According to Node.js's best practices:
Node.js was not designed to run as PID 1 which leads to unexpected behaviour when running inside of Docker. For example, a Node.js process running as PID 1 will not respond to SIGINT (CTRL-C) and similar signals.
So basically, Node.js apps won't receive SIGTERM, SIGINT, etc. when running inside gcr.io/distroless/nodejs.
Currently, the Node.js distroless container runs the Node.js process as PID 1:
According to Node.js's best practices:
So basically, Node.js apps won't receive
SIGTERM,SIGINT, etc. when running insidegcr.io/distroless/nodejs.