É possível executar o script ao parar o contêiner docker?

6

Eu quero executar algum script dentro do contêiner quando eu executar o

docker stop ${ContainerName}

Existe alguma maneira de conseguir isso?

    
por Anveshak 14.07.2015 / 14:44

1 resposta

1

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.

    
por 10.11.2016 / 19:11