[Docker] 컨테이너 리소스 관리

2025. 2. 2. 10:55·Docker/Docker

하드웨어 리소스 제한

컨테이너 리소스 제한

  • 기본적으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않는다.
    • 컨테이너가 필요한 만큼 리소스를 제공
  • 도커 명령어를 통해 리소스를 제한할 수 있다.
    • CPU, Memory. Disk I/O에 대한 리소스를 제한할 수 있다.
    • docker run 명령어 옵션으로 가능

 

CPU 리소스 제한

docker run -d --cpus=”.5” ubuntu:1.14
  • CPU 0.5개 즉, 절반을 사용
docker run -d --cpu-shares 2048 ubuntu:1.14
  • 기본 값보다 두 배 많은 CPU 자원 할당
  • 다른 컨테이너에 비해 두 배 많은 자원을 할당 받는다고 보면 된다.
docker run -d --cpuset-cpus 0-3 ubuntu:1.14
  • CPU 0,1,2,3코어를 할당

 

Memory 리소스 제한

docker run -d -m 512m nginx:1.14
  • 최대 사용할 수 있는 메모리 사이즈가 512mb로 지정, 이상으로 사용하면 fail된다.
docker run -d -m 1g --memory-reservation  500m nginx:1.14
  • 최대 사용할 수 있는 메모리 용량은 1GB, 최소 500MB는 사용할 수 있도록 보장 받는다. 사용량은 500MB ~ 1GB 사이가 된다.
docker run -d -m 200m --memory-swap  300m nginx:1.14
  • 메모리를 200m, 스왑으로 300m사용할 수 있다. (총 500MB를 사용할 수 있는 것이 아니라 스왑 메모리 300MB 안에 메모리 200MB가 있어 실제 스왑 메모리는 100MB다.)
  • 스왑 메모리까지 사용해서 총 300MB를 사용할 수 있다는 뜻이다.
docker run -d -m 200m --oom-kill-disable nginx:1.14
  • 리눅스 커널에서 피지컬한 메모리가 부족하게 되면 out of memory가 실행되어 메모리를 많이 사용하는 프로세스를 종료시키는 기능이 있다.
  • OOM으로 종료되지 않도록 설정해주는 기능이다.

 

Block I/O 제한

docker run -it --blkio-wegiht 100 ubuntu:latest /bin/bash
  • 리소스를 100으로 상대적으로 적게 할당
  • 높은 값일수록 우선순위가 높아지고 더 많은 I/O 리소스를 할당받게 된다.
docker run -it --device-write-bps /dev/vda:1mb ubuntu:latest /bin/bash
  • /dev/vda에 저장할 때는 초당 1mb로 설정
docker run -it --device-write-iops /dev/vda:100 ubuntu:latest /bin/bash
  • /dev/vda에 저장할 때는 iops 값이 100으로 설정, 초당 100번의 쓰기 작업

'Docker > Docker' 카테고리의 다른 글

[Docker] 컨테이너 스토리지 02  (0) 2025.02.11
[Docker] 컨테이너 스토리지 01  (0) 2025.02.07
[Docker] 컨테이너 명령어  (0) 2025.01.30
[Docker] Registry  (0) 2025.01.24
[Docker] Container  (0) 2025.01.19
'Docker/Docker' 카테고리의 다른 글
  • [Docker] 컨테이너 스토리지 02
  • [Docker] 컨테이너 스토리지 01
  • [Docker] 컨테이너 명령어
  • [Docker] Registry
주우운
주우운
CloudOps까지의 과정 기록
  • 주우운
    CloudOps 여행기
    주우운
  • 전체
    오늘
    어제
    • 전체보기 (36)
      • AWS (7)
      • Docker (18)
        • Docker (14)
        • 따배도 (4)
      • Kubernetes (4)
      • IaC (0)
        • Ansible (0)
        • Terraform (0)
      • Linux (3)
      • DB (2)
      • 팁 (2)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.4
주우운
[Docker] 컨테이너 리소스 관리
상단으로

티스토리툴바