티스토리 뷰

Programming/Docker

Docker PID 1 이슈

Albothyl 2018. 7. 15. 21:00

https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem


Docker에서 bash shell을 통하여 Application 실행할때 bash shell에서 직접 실행하지 않으면 PID는 아래와 같다.


PID 1    : bash shell

PID 2 ~ : application


이런 상태일때 어떤 문제가 발생할 수 있을까? 


먼저 특정한 상황을 가정하겠다.

상황 

- Jenkins같은 CI Tool이 Docker로 띄어져 있다.

- Application은 shell에서 java jar 명령어로 실행되었다.

- Application을 kill하려고 한다.


이런 상황일 때 Jenkins는 Application을 종료하기 위해서 "KILL PID 1" 명령어가 실행된다. 하지만 PID 1은 Application이 아닌 bash shell이므로 Application은 죽지 않는다.


bash shell에서 Application을 "exec"로 실행하면,  PID 1은 bash shell이 아닌 Application이 되어 위의 상황에서 정상적으로 Application을 종료할 수 있다.


'Programming > Docker' 카테고리의 다른 글

Docker Tip  (0) 2017.05.23
Docker 사용  (0) 2016.08.07
Docker 명령어  (0) 2016.08.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함