Docker / npm ERR! code ELIFECYCLE npm ERR! errno 137 해결방법

flobeeee·2022년 12월 15일
0

시행착오

목록 보기
41/43
post-thumbnail

1. 상황

Docker내에서 npm run dev 명령어로 서버를 띄웠다.

아래처럼 에러는 떠도, 서버는 켜지긴 했다.
문제는 서버 코드를 고치고 테스트를 할 때, 저장하면 새로 서버가 켜져서 바로 테스트할 수 있었다.
그런데 저 에러가 뜨니 저장해도 새로 서버가 켜지지 않고, docker를 껐다가 켜야 확인할 수 있었다.
매우 비효율적인 상황이어.

2. 에러 메시지

Killed
npm ERR! code ELIFECYCLE
npm ERR! errno 137
npm ERR! jeju@2.0.0 dev: `node ace serve --watch`
npm ERR! Exit status 137
npm ERR! 
npm ERR! Failed at the jeju@2.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-12-15T04_39_40_319Z-debug.log

3. 에러원인

RAM 부족이라고 한다.
그래서 보통 캐시를 삭제해주거나 용량을 늘리면 된다고 했다.

4. 시도방법 (실패)

npm cache clean --force
delete node_modules
delete package-lock.jaon
npm install

해도 소용이 없었다.

5. 시도방법 (성공)

도커 설정을 바꿔보았다.
기존에는 Memory가 2.00GB 였는데, 4.00GB로 바꿨다.

6. 또 다른 방법 (시도 안해봄)

docker run --name project-local --privileged -d -it -p 4444:4444 -m 4096m -v $(pwd):/app project:local

애초에 도커를 띄울 때, 메모리를 설정하는 명령어가 있다고 한다.
-m 4096m 이 메모리 관련 옵션이다.

로컬에서 작업할 땐 5번 방법으로 되지만,
실배포를 할 땐 이 명령어를 활용한다고 한다.
(대시보드를 볼 수 없으니까 )

profile
기록하는 백엔드 개발자

0개의 댓글