sysnet4admin / _Book_k8sInfra

< 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 >
431 stars 174 forks source link

[Ch4/P223 ] 도커 --restart 중에 on-failure 사용시 이미지 별로 결과가 다름 #35

Closed sysnet4admin closed 5 months ago

sysnet4admin commented 6 months ago

문제 정의:

도커 --restart 옵션을 좀 더 구체적으로 설명함

변경 내용:

on-failure 옵션을 사용하면, 비정상 종료된 컨테이너만 도커가 시작함
(따라서 디스트로리스와 같은 패키지가 제한적인 이미지들은 비정상 종료된 메시지를 받기 어렵기 때문에 모든 경우에 재시작하게 됨)

AS-IS 컨테이너 비정상 종료 시 도커 서비스 시작 시
on-failure 컨테이너를 재시작함 컨테이너를 시작함
TO-BE 컨테이너 비정상 종료 시 도커 서비스 시작 시
on-failure 컨테이너를 재시작함 비정상 종료시 컨테이너를 시작함

[부가 설명]

on-failure 옵션에 따른 동작은 다르게 나타나며, 이는 컨테이너 내부의 프로세스가 종료 시그널을 어떻게 처리하여 반환하고 죽었는가에 따라 다릅니다. systemctl restart docker, reboot, VM ACPI 는 사용자가 명시적으로 종료를 명령하였는데 nginx 컨테이너와 httpd 컨테이너는 이 명령에 exit 0 으로 종료되는 것을 strace 로 확인하였고, java 컨테이너는 exit 143 으로 종료하는 것을 확인하였습니다. 현재 테스트 결과를 정리하면 다음과 같습니다. 440179259_801709964749235_6626363693671674761_n

현재 이슈는 1주일간 모니터링 된 후에 Close 됩니다. 감사합니다. 조 훈, 심근우, 문성주 드림

pro100421 commented 6 months ago

훈님!! 늘 도움이 되는 정보 주셔서 감사합니다!