볼륨·네트워크·컴포즈 · 헬스체크와 재시작 정책 · 퀴즈
퀴즈: 헬스체크와 재시작 정책
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
컨테이너가 `unhealthy` 가 되면 도커 단독으로는 무슨 일이 일어나는가?
- 도커가 컨테이너를 자동으로 재시작한다
- 도커가 그 컨테이너를 삭제한다
- 상태만 unhealthy 로 바뀌고 재시작은 하지 않는다
- 이미지를 레지스트리에서 다시 받는다
`--start-period` 를 주는 이유는?
- 헬스체크 검사 주기를 더 길게 늘려 잡으려고
- 검사 하나의 타임아웃을 늘리려고
- 기동에 시간이 걸리는 앱이 초기 실패로 unhealthy 가 되지 않게 하려고
- 실패 판정 전 재시도 횟수를 늘리려고
liveness 와 readiness 를 구분하는 이유로 가장 적절한 것은?
- 두 프로브의 설정 파일을 따로 나눠 두려고
- 전체 검사 호출 횟수를 줄이려고
- 두 검사의 로그를 나눠 보려고
- 일시적인 의존성 지연에 재시작으로 대응하면 상황이 더 나빠지기 때문
`always` 와 `unless-stopped` 의 차이는?
- always 는 종료코드 0 일 때만 재시작한다
- 사람이 명시적으로 stop 한 컨테이너를 데몬 재시작 후 다시 띄우는지 여부
- always 는 최대 5회까지만 재시작한다
- 차이가 없다
Compose 의 `depends_on: [db]` 만으로 보장되는 것은?
- db 컨테이너의 시작 순서만 앞선다
- db 가 연결을 받을 준비가 될 때까지 기다린다
- db 의 헬스체크 통과를 기다린다
- db 가 죽으면 app 도 재시작한다
`/healthz` 가 항상 200 만 돌려주도록 만든 경우의 문제는?
- 헬스 응답이 점점 느려진다
- 열린 엔드포인트라 보안 취약점이 생긴다
- 프로세스 생존 외에는 아무것도 검사하지 않아 장애를 놓친다
- 컨테이너 재시작 정책이 무시된다