Infra & Devops/Docker

[Docker] 자원을 지정하여 컨테이너 생성 및 실행

겸둥이xz 2021. 9. 17. 01:01
반응형
docker cotainer run [자원 옵션] 이미지명[:태그명] [인수]
  • --cpu-shares, -c : CPU의 사용 배분(상대 비율), 기본값은 1024
  • --memory, -m : 사용할 메모리를 제한하여 실행 (단위는 b, k, m, g 중 하나)
  • --volume=[호스트 디렉토리]:[컨테이너 디렉토리], -v : 호스트와 컨테이너의 디렉토리 공유

 

docker container stats (자원 사용률 보기)

항목 설명
CONTAINER ID 컨테이너 식별자
NAME 컨테이너명
CPU % CPU 사용률
MEM USAGE / LIMIT 메모리 사용량 / 컨테이너에서 사용할 수 있는 메모리 제한
MEM % 메모리 사용률
NET I/O 네트워크 I/O
BLOCK I/O 블록 I/O
PIDS PID
  • docker container top [컨테이너명] : (컨테이너에서 실행중인 프로세스 확인)

 

자원을 지정 해보기

# 컨테이너 모두 삭제하고 시작
docker container rm -f `docker ps -a -q`

docker run -dit --memory 500m --rm --name c1 centos:latest  # 500M 제한 메모리
docker run -dit --cpu-shares 512 --rm --name c2 centos:latest # cpu 상대적으로 절반만 사용
docker run -dit --rm --name c3 centos:latest

# 부하 걸어주기
docker exec c1 dd if=/dev/zero of=/dev/null bs=1M &
docker exec c2 dd if=/dev/zero of=/dev/null bs=1M &
docker exec c3 dd if=/dev/zero of=/dev/null bs=1M &

 

CPU 비율 직접 지정

# 컨테이너 모두 삭제하고 시작
docker container rm -f `docker ps -a -q`

# CPU 사용 0.3으로 제한
docker run --cpus 0.3 --rm -dit --name os1 centos:latest dd if=/dev/zero of=dev/null bs=1M 

# CPU 사용 0.1으로 제한
docker run --cpus 0.1 --rm -dit --name os2 centos:latest dd if=/dev/zero of=dev/null bs=1M 

# 제한 없음
docker run  --rm -dit --name os3 centos:latest dd if=/dev/zero of=dev/null bs=1M

 


<참고자료>

'완벽한 IT 인프라 구축을 위한 Docker 2판'

반응형