issues
search
dudckd6744
/
Study_calender
study_calender
0
stars
1
forks
source link
컨테이너 내에서 pm2 를 안쓰는이유 🧐
#12
Closed
dudckd6744
closed
2 years ago
dudckd6744
commented
2 years ago
pm2는 서버가 죽으면 restart를 해준다.
노드프로세스를 띄우고 감시하고죽으면 되살린다. 컨테이너에는 에센셜프로세스라는 개념이있다.
컨테이너에서 필수로 동작하는 프로세스
에센셜프로세스가 죽으면 컨테이너도 같이 죽는다.
컨테이너 flow
컨테이너에서 노드를 바로실행한다.
에센셜프로세스가 노드프로세스가 된다.
노드프로세스가 죽으면 컨테이너도 내려간다.
그럼 컨테이너가 죽으면 누가그걸 살려줄까??
여기서 컨테이너 오케스트레이션 이라는 개념이 나오고 이 도구들을 사용한다.
k8s
docker-compose
aws-ecs
컨테이너에서 pm2 안되나요?
pm2 를 컨테이너랑 섞어써도 되지만 권장되지는 않는다.
권장 되지 않는 이유
한 컨테이너에서 복수 애플리케이션을 호스팅하는 경우 매니지 먼트가 힘들다
e.g. pm2로 노드 프로세스만 돌리는게 아니라 nginx같은 웹서버도 같이 굴림
규모가 큰 서비스 부분으로 예를들때 노드프로세스가 크래시나서 죽으면 하나하나 sh 접속하여 docker container 안으로 들어가 pm2 로그나 list 를확인해야된다. 이런걸 모든 서버 돌아가면서 해야된다.
애플리케이션 로그들을 Cloudwatch Logs로 보내서 그냥 다 한 곳에서 통합해서 볼 수 있다
pm2는 서버가 죽으면 restart를 해준다.
컨테이너 flow
그럼 컨테이너가 죽으면 누가그걸 살려줄까??
여기서 컨테이너 오케스트레이션 이라는 개념이 나오고 이 도구들을 사용한다.
컨테이너에서 pm2 안되나요?
권장 되지 않는 이유