J'ai un fichier docker-compose avec PostgreSQL et mon application, comme ceci :
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"
Le problème est que la politique restart: always
ne semble pas fonctionner lorsque je tue le conteneur (simulant un crash de l'application en utilisant docker kill
) et docker-compose ne redémarre pas mon conteneur, même si le code de sortie est 137. Je observe le même comportement lorsque j'utilise la politique restart: on-failure
. Les versions 2
et 3
de docker-compose se comportent de la même manière. Mon système est Ubuntu Server 16.04 x64.
Mes questions sont :
- Pourquoi docker-compose ne redémarre pas un conteneur crashé (tué) ?
- Comment vérifier si la politique de redémarrage fonctionne ?
0 votes
docs.docker.com/compose/compose-file/#restart_policy & docs.docker.com/compose/compose-file/#restart
13 votes
J'étais là plusieurs fois, mais comme vous pouvez le voir, la documentation n'est pas robuste et il n'y a aucune explication sur le fonctionnement de cette fonctionnalité, c'est pourquoi j'ai posé une question - J'aimerais voir une réponse de quelqu'un ayant une expérience pratique dans ce domaine.