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판'
반응형