Ich habe 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 die restart: always
Richtlinie nicht zu funktionieren scheint, wenn ich den Container beende (simuliere App-Absturz mit docker kill
) und docker-compose meinen Container nicht neu startet, obwohl der Exit-Code 137 lautet . Ich beobachte dasselbe Verhalten, wenn ich restart: on-failure
Richtlinien verwende. Versionen 2
und 3
von docker-compose verhalten sich gleich. Mein System ist Ubuntu Server 16.04 x64.
Meine Fragen sind:
- Warum startet docker-compose den abgestürzten (getöteten) Container nicht neu?
- Wie überprüfe ich, ob die Neustart-Richtlinie funktioniert?