Eu tenho um contêiner HBase Docker que está sendo executado em vários laptops de desenvolvedores. Quando os desenvolvedores fecham seus laptops, o contêiner do Docker invariavelmente morre e para de funcionar.
É assim que estamos invocando o contêiner:
$ docker run -d --hostname hbase-db --name hbase \
-p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 \
-p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 \
harisekhon/hbase
Pergunta
Como posso proteger este contêiner para que ele reinicie automaticamente quando/se morrer?
Políticas de reinicialização do Docker
O Docker fornece um recurso que resolve esse problema chamado política de reinicialização do Docker :
Os tipos de políticas de reinicialização:
Uso
Você pode usar a política de reinicialização assim:
Considerações
Exemplo
Aqui vamos usar o contêiner do Docker hello-world para ilustrar como isso funciona.
Para começar, puxamos para baixo:
Com nosso container baixado, vamos executá-lo:
E se executarmos alguns
docker ps
, veremos ele reiniciando repetidamente:Observando os logs do Docker, podemos ver que ele foi reiniciado várias vezes:
Quando terminar, certifique-se de parar o contêiner para que ele não reinicie para sempre:
Sua correção
Para resolver seu problema, basta executar seu contêiner HBase Docker da seguinte forma:
Referências