Ich habe eine Docker-Compose-Datei mit PostgreSQL und meiner Anwendung wie folgt:
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"
Das Problem ist, dass restart: always
die Richtlinie scheint nicht zu funktionieren, wenn ich den Container beende (Simulieren des App-Absturzes mit docker kill
) und docker-compose startet meinen Container nicht neu, obwohl der Exit-Code ist 137. Ich beobachte das gleiche Verhalten, wenn ich benutze restart: on-failure
Politik. Sprachversionen 2
und 3
von Docker-compose verhalten sich gleich. Mein System ist Ubuntu Server 16.04 x64.
Meine Fragen sind:
- Warum startet docker-compose abgestürzten (getöteten) Container nicht neu?
- Wie überprüfe ich, ob die Neustartrichtlinie funktioniert?