Docker container signal handling is key to graceful container shutdown. Docker sends a SIGTERM signal when stopping a container, and processes inside the container should catch the signal and perform cleanup operations (such as closing connections, saving state). If the process does not exit within the timeout period (default 10 seconds), Docker sends a SIGKILL signal to force termination. The STOPSIGNAL instruction in Dockerfile can customize the stop signal. Application code needs to correctly handle signals, for example using signal.signal() in Python, process.on('SIGTERM') in Node.js. For multi-process containers, an init system (such as dumb-init, tini) is needed to correctly pass signals.