Compose로 수명주기 훅 사용하기
Compose로 수명주기 훅 사용하기 (Using lifecycle hooks with Compose)
서비스 수명주기 훅 (Services lifecycle hooks)
Docker Compose가 컨테이너를 실행할 때, 컨테이너가 시작·중지될 때 무슨 일이 일어나는지 관리하기 위해 ENTRYPOINT와 COMMAND 두 요소를 사용해요. 하지만 가끔은 이런 작업을 수명주기 훅(lifecycle hooks)으로 분리해 처리하는 것이 더 쉬울 수 있어요. 수명주기 훅은 컨테이너가 시작된 직후 또는 중지되기 직전에 실행되는 명령이에요.
수명주기 훅은 특히 유용한데, 컨테이너 자체가 보안상 낮은 권한으로 실행되더라도 특수 권한(예: root 사용자로 실행)을 가질 수 있기 때문이에요. 덕분에 더 높은 권한이 필요한 특정 작업을 컨테이너의 전반적인 보안을 손상시키지 않고 수행할 수 있어요.
출처: 문서
본문
시작 후 훅 (Post-start hooks)
시작 후 훅은 컨테이너가 시작된 직후 실행돼요. 훅과 컨테이너의 entrypoint 사이에 순서 보장은 없으므로, 시작 후 훅은 애플리케이션이 실행되기 전에 완료될 필요가 없는 작업 — 예를 들어 컨테이너를 외부 시스템에 등록하는 작업 — 에 가장 적합해요.
다음 예시는 (구체적인 Compose 구성이 원본 문서에 있어요.)
종료 전 훅 (Pre-stop hooks)
컨테이너가 중지되기 직전에 실행되는 훅도 정의할 수 있어요. 종료 전 정리 작업에 유용해요. (구체적인 예시는 원본 문서 참고)
수명주기 훅은 Compose 파일의 x-lifecycle 같은 속성으로 정의하며, 권한·명령을 세밀하게 제어해요.