Implement graceful shutdown for Docker executor
At the moment the Docker executor simply sends a kill to the Docker container and it's processed in here and don't provide any graceful termination we have something implemented like this in the custom executor and shell executor which to problems of containers living forever and other set of problems that we have no controll over.
When terminating containers we are sometimes just calling
killContainer but we don't allow for graceful shutdown, that is why first we should Call
ContainerStop instead of
killContaienr and also call
containerStop before we remove the container, after a specific timeout we will then send a KILL to the container. With this we allow processes to terminate properly and gracefully.
The technical details might get outdated very fast but we need to basically send
SIGTERM and then after x amount of time we send
SIGKILL if the process is still around.