Eu tenho o arquivo de composição do docker com o PostgreSQL e meu aplicativo, assim:
version: '3'
services:
postgresql:
image: postgres:9.6.6
ports:
- 9932:5432
expose:
- "5432"
environment:
- POSTGRES_PASSWORD=pass
restart: always
volumes:
- /data:/var/lib/postgresql/data
myapp:
image: myapp
links:
- postgresql
depends_on:
- "postgresql"
restart: always
ports:
- "5000:5000"
O problema é que a restart: always
política parece não funcionar quando eu mato o container (simulando a falha do aplicativo usando docker kill
) e o docker-compose não reinicia meu container, mesmo que o código de saída seja 137 . Eu observo o mesmo comportamento quando uso restart: on-failure
a política. As versões 2
e 3
do docker-compose se comportam da mesma forma. Meu sistema é o Ubuntu Server 16.04 x64.
Minhas perguntas são:
- Por que o docker-compose não reinicia o contêiner travado (eliminado)?
- Como verificar se a política de reinicialização funciona?