Docker 컨테이너 리소스 관리 - 실습

1. 컨테이너 하드웨어 리소스 제한 어떻게 하냐?

docker run --help

제한 단위는 b, k, m, g로 할당

Untitled

docker run -d -m 512m nginx:1.14 **(최대로 쓸 수 있는 메모리 512메가바이트)**

**(최대로 쓸 수 잇는 메모리 1G바이트 또 적어도 500MB 항상 쓸 수 있도록 보장받음)**
docker run -d -m 1g --memory-reservation 500m nginx:1.14 

**(메모리 200MB까지 쓸 수 있고 디스크를 메모리처럼 쓰는 것, 실제 스왑은
100MB 까지 쓸 수 있음 메모리 + 스왑 = 300M 이니 )**
docker run -d -m 200m --memory-swap 300m nginx:1.14

**(실제 물리적인 메모리 부족해도 해당 container oom kil 안시킴)**
docker run -d -m 200m --oom-kil-disable nginx:1.14

Untitled

(CPU 4개 core 있으면 그중 1개를 쓰는데 1개의 절반 까지만 쓸 수 있다.)
docker run -d --cpus=".5" ubuntu:1.14

(다른 컨테이너에 비해 2배 리소스 할당받을 수 있음)
docker run -d --cpu-shares 2048 ubuntu:1.14 (-c로 써도됨)
docker run -d --cpuset-cpus 0-3 ubuntu:1.14

Untitled

docker run -it --rm --blkio-weight 100 ubuntu:latest /bin/bash
docker run -it --rm --device-write-bps /dev/vda:1mb ubuntu:latest /bin/bash
docker run -it --rm --device-write-bps /dev/vda:10mb ubuntu:latest /bin/bash
docker run -it --rm --device-write-iops /dev/vda:10 ubuntu:latest /bin/bash
docker run -it --rm --device-write-iops /dev/vda:100 ubuntu:latest /bin/bash