-
도커를 이용하면서 겪었던 일들... 정리...블로그 개발 기행 🥾 2022. 12. 18. 23:05
목차.
1. 도커 컨테이너의 OOM 발생
2.이젠 bootBuildImage를 통해서 쉽게 도커 세팅하자.
3. 후기1. 도커 컨테이너 OOM 발생
서론 없이 그냥 말 그대로다 OOM이 발생한 것이다.
OOM 간단히 봐도 그냥 "고정 메모리 공간에는 389MB 보다 큰 400MB가 필요하다."고 안내해준다.
그리고 옆에는 할당된 메모리의 순서대로 주르륵 나열이 되어있다.
(어쩐지 저거 때문에 프론트엔드에서 api 요청이 안되더나 싶더니...)
여하튼 389MB보다 큰 512MB를 할당하기 위해서 다음과 같이 명령어를 작성해서 할당 공간을 늘어주었다.
물론 이건 잠시 땜빵형식으로 해놓은거고, 나중에 잘 갖추어지도록 Actuator라던가 헬스체킹을 할 수 있는 요소들이 만들어지면 그때 좀 더 손볼 생각이다. 메모리도 결국엔 내 돈으로 나가는 거니깐.
그리고 Heap dump를 하기위해 bootBuildImage pahse에서 추가적인 설정도 해줬다.
2.이젠 bootBuildImage를 통해서 쉽게 도커 세팅하자.
이건 제목이 곧 내용이다.
말 그대로 자바 런타임 실행 때 사용될 환경변수, 메모리 덤프 파일 추출, 자바 런타임 메모리 관리와, 코어 활성 수 등을 설정해 docker image를 생성해주는 phase이다.
이전 배포 포스팅에서 보다시피, yml에 추가적으로 노가다 형식으로 집어넣어준 삽질을 잘 볼 수 있다.
이 삽질을 페이즈 내부에 아래와 같은 형식으로 작성을 하고, 실행을 했더니, yml로 삽질하던게 한순간에 날라갔다.
(너넨 이런거 하지마라...)
잘 해결되어 기본 배포 파일내용도 당연히 달라졌다.
https://octskyout.tistory.com/47 - 3번 카테고리 배포전략
https://github.com/oct-sky-out/little-blog/blob/development/.github/workflows/blog-app-publish.yml - CI/CD code
3. 후기
OOM이라는게 사실 살면서 두번째 겪는 이슈였고, 백엔드 개발하면서 운영까지 같이 하다보니, 이런 경험도 겪는게 오히려 좋은거같다.(M?)
bootBuildImage는 진짜 예전부터 갈아치우려고 했는데 이번 OOM이슈가 터지면서 함께 처리했던게 더 기분 좋다.
이번 삽질 기록시간은 금요일 저녁부터 일요일 저녁 이틀에 걸쳐서 해결했다.
'블로그 개발 기행 🥾' 카테고리의 다른 글
블로그 프로젝트 문서 (0) 2022.12.03 내가 세운 블로그 서비스 - 도커 배포전략과 느낀점 (0) 2022.12.02 블로그 개발 기행을 시작하며 (0) 2022.11.28