다음과 같이 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
) 종료 코드가 137 인데도 docker-compose가 컨테이너를 다시 시작하지 않습니다 . restart: on-failure
정책을 사용할 때도 동일한 동작을 관찰합니다 . 도커 작성 버전 2
과 버전 3
은 동일하게 동작합니다. 내 시스템은 Ubuntu Server 16.04 x64입니다.
내 질문은 :
- docker-compose가 충돌 (킬링 된) 컨테이너를 다시 시작하지 않는 이유는 무엇입니까?
- 재시작 정책이 작동하는지 확인하는 방법은 무엇입니까?