Docker 컨테이너를 중지하는 동안 스크립트를 실행할 수 있습니까?

Docker 컨테이너를 중지하는 동안 스크립트를 실행할 수 있습니까?

실행할 때 컨테이너 내부에서 일부 스크립트를 실행하고 싶습니다.

docker stop ${ContainerName}

이것을 달성할 수 있는 방법이 있나요?

답변1

이것은 매우 좋은 질문입니다.

먼저 컨테이너 내부의 루트 프로세스에 docker stop유형을 보냅니다 . SIGTERM기본적으로 프로세스는 SIGKILLDocker가 무자비 메시지를 보내고 종료하기까지 10초의 시간을 갖습니다.[1]

둘째, 강력한 애플리케이션은 프로세스가 예기치 않게 종료되는 경우 데이터를 손상시키지 않아야 합니다. 예를 들어 Nginx에는 시스템 신호를 처리하는 방법이 잘 문서화되어 있습니다.[2]

그러나 onw 애플리케이션, 심지어 쉘 스크립트를 만드는 경우 자체 신호 처리를 구현해야 합니다. 단 몇 줄의 코드만으로 가능합니다. 이것은 훌륭한 튜토리얼입니다.[삼]

좋은 하루 보내세요.

관련 정보