• 북마크

docker

dumb-init를 쓰지 않고서는 제대로 된 docker 운영이 불가능하다!

본문

테스트 결과 apt-get으로 설치한 nginx와 같은 시스템에 등록된 서비스를 구동하는 것은

특별한 loop 스크립트 없이 서비스 자체만으로 컨테이너의 종료 없이 구동이 된다.

 

하지만 소스 컴파일 후 시스템과의 연동 없이 구동되는 서비스들은

특별한 loop 스크립트 없이는 컨테이너가 종료된다.

 

이 사실을 알기까지 오랜 시간의 테스트와 학습이 요구되었다.

나에게 있어서는,

 

중요한 요소로 제대로된 docker는 pid 1으로 명시된 기본 서비스 하나만 동작되어야 하며 그 외 서비스는 있어서는 안된다.

그리고 증가되는 프로세스들은 해당 pid 1으로 명시된 프로세스의 종속적인 child 프로세스여야만 한다.

 

이래야지 서비스의 문제가 발생되는 경우 최상위 부모 프로세스 (PID 1)의 종료와 함께 

docker 컨테이너가 재시작 될 수 있다.

 

이는 오케스트레이션의 쿠버네티스에서도 요구되는 항목이다.

이러한 요구사항을 해결해주는 솔루션이 dumb-init 패키지이다.

 

쓰는 방법은 어렵지 않으나, 제대로 이해하고 쓰기에는 이해력이 많이 요구됨.

 

 

 

[이 게시물은 최고관리자님에 의해 2020-05-28 00:41:49 개발기록에서 이동 됨]

댓글목록 0

등록된 댓글이 없습니다.
전체 19 건 - 1 페이지
제목
최고관리자 1,397 2020.08.06
최고관리자 1,004 2020.08.06
최고관리자 3,375 2020.06.30
최고관리자 1,599 2020.06.29
최고관리자 1,401 2020.06.06
최고관리자 952 2020.06.03
최고관리자 3,330 2020.05.27
최고관리자 1,082 2020.04.27
최고관리자 1,110 2020.03.31
최고관리자 2,185 2020.05.19
최고관리자 1,031 2020.05.10
최고관리자 1,008 2020.04.30
최고관리자 1,116 2020.04.27
최고관리자 1,067 2020.05.23
최고관리자 4,590 2020.05.15