$ docker container run -d -p 8080:3000 \
marcelodpbarbieri/simulador-caos:v1
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f944f60523be marcelodpbarbieri/simulador-caos:v1 "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:8080->3000/tcp, :::8080->3000/tcp reverent_jepsen
Acessar a aplicação disponibilizada pelo container e clicar no botão "Encerrar Aplicação com Sucesso"
Aplicação encerrada com sucesso:
O container não está mais em execução:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Foi encerrado normalmente com sucesso, sem erros, com código 0:
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f944f60523be marcelodpbarbieri/simulador-caos:v1 "docker-entrypoint.s…" 3 hours ago Exited (0) About a minute ago reverent_jepsen
Para que a aplicação seja disponibilizada novamente faz-se necessário uma nova execução com a criação de um novo container:
$ docker container run -d -p 8080:3000 \
marcelodpbarbieri/simulador-caos:v1
5e644a99b3fc6849f001559ab818a5661b20ecf66982f8246e63e18c5b652771
Acessar a aplicação disponibilizada pelo container e clicar no botão "Encerrar Aplicação com Erro":
Aplicação encerrada com sucesso:
A aplicação já não está mais disponível:
Foi encerrado devido a um erro ou condição anormal com código 1, sem tratamento para recuperação do processo:
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5e644a99b3fc marcelodpbarbieri/simulador-caos:v1 "docker-entrypoint.s…" About a minute ago Exited (1) 24 seconds ago sweet_proskuriakova
Para que a aplicação seja disponibilizada novamente faz-se necessário executar um novo container:
$ docker container run -d -p 8080:3000 marcelodpbarbieri/simulador-caos:v1
2bcb38f8235602ae59a320cc912748030df1f50415d84698e15169c93769102b
E, num cenário mais caótico, se o Docker Daemon fosse interrompido?
$ sudo systemctl stop docker
[sudo] password for marcelo:
Warning: Stopping docker.service, but it can still be activated by:
docker.socket
Mas ao iniciar novamente o Docker Daemon a aplicação continuará indisponível:
$ sudo systemctl start docker
Para que a aplicação volte a funcionar faz-se necessário executar um novo container:
$ docker container run -d -p 8080:3000 marcelodpbarbieri/simulador-caos:v1
8f3e447f0ef0cbc93ffea857e7adc2afc8c9c60f8cb2974ce0050eeeb64dd5c1
Para evitar a execução manual de novos containers faz-se necessária a criação de políticas para que haja a tomada de decisão para o reinício automático da aplicação, com as opções: