У мене є докер-композиційний файл із 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
докер-композиції поводяться однаково. Моя система - Ubuntu Server 16.04 x64.
Мої запитання:
- Чому docker-compose не перезапускає збій (вбитий) контейнер?
- Як перевірити, чи працює політика перезапуску?