본문 바로가기

docker4

[에러] Out of memory Error: java heap space 에러원인:  Out of memory Error / java heap space //컨테이너 메모리 사용량 보기docker stats  위 명령어로 컨테이너 메모리 사용량을 모니터링했습니다. MEM USAGE / LIMIT 열 부분을 확인해 보면 1/2이나 메모리 공간이 남은 것을 알 수 있습니다. 그러면 log파일이 커져서 문제가 된건 아니구나를 다시 한 번 알 수 있습니다.  사전 지식JVM은 기본적으로 Heap 크기를 최소 1/64로 설정합니다. 그래서 만약 heap space를 늘려주고 싶다면 dockerfile이나 도커 명령어를 사용하여  해결법여기서 -Xmx는 최대 힙 메모리 크기를, -Xms는 초기 힙 메모리 크기를 설정합니다. 예를 들어, -Xmx512m는 최대 512MB의 힙 메모리를 J.. 2024. 9. 5.
컨테이너 로그 초기화 /var/lib/docker/containers/컨테이너ID/컨테이너ID-json.log위 경로가 docker log가 위치한 위치이다. 캡쳐본은 /var/lib/docker/containers/컨테이너ID을 직접 들어가본 것이다.   임시방편으로 위 명령어로 log 파일을 초기화 할 수  있다. truncate -s 0 컨테이너ID-json.log 2024. 9. 5.
Gighub Action , Docker Compose, Nginx, code deploy 무중단 배포 무중단 배포 1. rolling update 배포 새로 배포되어야 하는 버전을 하나씩 순차적으로 적용시키면서 배포하는 방식입니다. 한 번에 모두 배포되는 게 아니기 때문에 배포가 되는 과정에서 옛날 버전과 새로운 버전이 공존합니다. 그렇기 때문에 잘못하면 배포하는 과정 중에 호환성 문제가 생길 수 있습니다 2. Blue,Green 배포 예시를 들자면 이전의 8080포트를 쓰고 있는 컨테이너가 있습니다. 새로운 컨테이너를 새로운 포트(8081)로 올립니다. 다 올려졌다면 nginx는 새로운 컨테이너 포트로 연결하고 이전 컨테이너는 내립니다. 3. 카나리 배포 적은 사용자에게 먼저 배포 후 A/B 테스트. 현재 단계에서는 고려하지 않겠습니다. rolling update는 인스턴스를 두 대 이상 사용하여 비용.. 2024. 1. 11.
Gighub Actions,docker 배포 GitHub Actions GitHub Actions는 일반적으로 CI(Continuous Integration, 지속 통합) 또는 CD(Continuous Deployment, 지속 배포)와 같은 자동화를 위해서 사용됩니다. 운영환경에 소스코드를 머지하기 위해 반복적으로 처리되야 할 일들들을 처리해줍니다. 즉, CI/CD를 위한 파이프라인입니다. CD ( Code Deploy) Source Code를 운영환경에 자동 배포하는 역할을 수행하는 행위(지속적 자동 배포) 전체적인 플로우 1. Github Action에서 소스코드를 빌드한다. 2. Github Action에서 빌드한 소스코드를 이미지로 빌드한다. 3. Github Action에서 빌드한 이미지를 Docker 레퍼지토리에 넣는다. 4. Gith.. 2024. 1. 11.