Essa é uma ótima pergunta.
Primeiro, docker stop
envia um tipo SIGTERM
para o processo raiz dentro do seu contêiner. E, por padrão, o seu processo tem dez segundos antes do Docker enviar uma não-misericórdia SIGKILL
, matando-a. [1]
Segundo, um aplicativo robusto não deve corromper os dados se o processo for morto inesperadamente. Por exemplo, o Nginx tem uma maneira bem documentada de lidar com sinais do sistema. [2]
Mas, caso você esteja fazendo o seu aplicativo onw, e isso pode ser até mesmo um script Shell, você precisará implementar seu próprio tratamento de sinal. Apenas algumas linhas de código e pronto. Aqui está um bom tutorial. [3]
Tenha um bom dia.