본문으로 바로가기

VM을 생성할 때 CPU와 memory 등의 리소스를 설정해 주는 것과 마찬가지로, docker container도 리소스를 설정하여 생성, 실행할 수 있다.

 

docker run 명령어를 실행할 때, 리소스와 메모리를 설정하는 옵션을 주어 실행하면 되겠다.

별도의 옵션을 주지 않았을 때 cpu와 memory의 default는 1024m이다.

 

-c, --cpu-shares : CPU리소스 분배

-m, --memory : 메모리 사용량 제한(b,k,m,g 등의 단위 사용

 

예) $ docker run --cpu-share=512 --memory=512m nginx

 

메모리 사용량은 memory 옵션을, CPU는 cpu-shares 옵션으로 제한값을 설정한다.

Docker Container의 리소스를 제한하는 기능은 리눅스의 cgroups 기능을 사용하여 동작한다.

 

 

 

WARNING: Your kernel does not support swap limit capabilities, memory limited without swap.

위와 같은 경고가 표시되었다. 이는 리눅스 커널 설정의 문제로 swap 제한을 지원하지 않는다는 경고이다. grub설정을 바꾸고 재시작하면 경고 없이 작동할 것이다.

 

# /etc/default/grub
...
...
GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"
# update-grub
# reboot

 Other Contents 

댓글을 달아 주세요

티스토리 툴바