본문 바로가기

Docker

도커(docker) 컨테이너 리소스 사용량 제한하기

 

1. 리소스 사용량을 제한해야하는 이유

도커는 호스트의 디스크와 메모리를 같이 사용하기 때문에 최악의 경우 다른 프로세스에도 영향을 줄 수 있음

 

1) 메모리 부족

호스트의 커널에서 OOME(Out Of Memory Exception)을 일으켜서 여유 memory를 생성하기 위해 프로세스 삭제

 

2) 한 컨테이너에 cpu 독점

다른 컨테이너에 cpu가 할당되지 않아 정상 작동하지 못함

 

3) 디스크 부족

데이터를 디스크에 저장하지 못하거나 새로운 프로세스를 정상 사용하지 못하는 경우 발생

 

 

 

2. 리소스 제한하는 방법

 

1) 메모리 제한

docker run -it -m 10m python:3.8

 

2) cpu 제한

docker run -it --cpus=0.5 python:3.8

 

 

cf. 사용하고 있는 리소스 확인

docker stats

 

 

더 많은 리소스 제한하기는 공식문서 보기

https://docs.docker.com/config/containers/resource_constraints/

 

Runtime options with Memory, CPUs, and GPUs

 

docs.docker.com