도커 컨테이너 리소스 제한하기

00_8_3·2022년 4월 1일
0

SEEME 이슈

목록 보기
6/10

도커 컨테이너 리소스 제한하기

데스크탑의 로컬 환경에서 작업을 할 경우에는 문제가 없는데
노트북으로 컨테이너를 띄우고 사용을 하게되면 CPU 자원 할당이 100%가 되는 현상을 자주 겪게되어 리소스를 제한하는 방법을 찾아본다!

도커와 도커 컴포즈 모두 제한하는 방법이 있지만
컴포즈를 자주 사용하니 이것만 알아 보도록 한다.

제한하는 방법

2버전과 3버전의 옵션이 상이하니 참고하시길 바랍니다.

version: "3.9"
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 50M
        reservations:
          cpus: '0.25'
          memory: 20M

아주 간단하게도 reservations는 최소치이며 limits는 한계치이다.
해석을 하면 cpu가 최소 25%, 최대 50%를 사용하며
메모리는 최소 20M, 최대 50M을 사용하게 제한한다.

주의

시스템이 사용가능한 메모리보다 상회하는 메모리를 컨테이너가 사용하게 되면
OOME가 발생할 수 있으며 컨테이너 또는 Docker 데몬이 커널 OOM 킬러에 의해 종료될 수 있습니다.

참고

https://docs.docker.com/compose/compose-file/compose-file-v3/#resources

0개의 댓글