У меня есть docker compose file с PostgreSQL и моим приложением, например так:
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"
Проблема в том, что restart: always
политика не работает, когда я уничтожаю контейнер (имитируя сбой приложения с помощью docker kill
), а docker-compose не перезапускает мой контейнер, даже если код выхода равен 137 . Я наблюдаю такое же поведение, когда использую restart: on-failure
политику. Версии 2
и 3
docker-compose ведут себя одинаково. Моя система - Ubuntu Server 16.04 x64.
Мои вопросы:
- Почему docker-compose не перезапускает разбитый (убитый) контейнер?
- Как проверить, работает ли политика перезапуска?