O uso da --restart=always
política manipulará a reinicialização de contêineres existentes em caso de reinicialização.
O problema é que, se há vários recipientes com --restart=always
quando você executa imagem de uma versão mais recente como discutido na janela de encaixe - como você desabilitar o reinício automático em um recipiente? .
Tentar remover automaticamente o contêiner quando ele existir pela opção de venda docker run --rm
também apresentará problemas com a --restart=always
política, pois eles conflitam .
$ docker run --rm --restart always <image>
Conflicting options: --restart and --rm
Portanto, neste caso, é melhor escolher outra opção: - reinicie a política a menos que seja interrompida .
$ docker run --rm --restart unless-stopped <image>
Esta política não conflitantes a docker run --rm
, mas como explicado na documentação janela de encaixe :
É semelhante a --restart=always
, exceto que, quando o contêiner é parado (manualmente ou de outra forma) , ele não é reiniciado mesmo após a reinicialização do daemon do Docker.
Portanto, ao usar esta --restart unless-stopped
política, para garantir que a reinicialização esteja funcionando, caso pare por acidente ao fechar o terminal, faça uma vez em outro terminal, como abaixo:
$ docker ps
$ docker restart <container>
Aguarde até que o processo de extermínio termine no shell anterior, feche-o e saia ( não saia ).
E verifique novamente no terminal restante se o contêiner ainda estiver em execução:
$ docker ps
Se ainda estiver em execução, você poderá reiniciar com segurança e verificar novamente se o aplicativo está sendo reiniciado e se a janela de encaixe está limpa sem o uso de vários contêineres.