들어가며
- 도커 컨테이너 별 리소스 사용량을 확인할 수 있습니다.
컨테이너 Resource 사용량 확인하기
아래 명령어를 통해 컨테이너 리소스 사용량을 실시간으로 표시할 수 있습니다.
docker stats [OPTIONS] [CONTAINER...]
Options
--all, -a | 모든 컨테이너를 표시합니다. |
--format | 출력 결과의 포맷을 지정합니다. |
--no-stream | 스트리밍 통계를 비활성화하고 첫 번째 결과만 가져옵니다. |
--no-trunc | 출력 결과를 자르지 않습니다. |
기본 명령어 docker stats 를 실행하면 아래와 같은 결과를 확인할 수 있습니다.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS e4e656795fbd container-0 0.01% 20.49MiB / 7.638GiB 0.26% 74.6MB / 74.3MB 54.4MB / 0B 15 db8fc597a868 container-1 5.72% 1.346GiB / 7.638GiB 17.63% 88.1MB / 96.3MB 94MB / 18.2MB 545
CONTAINER ID and Name | 컨테이너의 ID와 이름 |
CPU % and MEM % | 컨테이너가 사용 중인 호스트의 CPU 및 메모리 비율 |
MEM USAGE / LIMIT | 컨테이너가 사용 중인 총 메모리 및 사용 가능한 총 메모리 양 |
NET I/O | 컨테이너가 네트워크 인터페이스를 통해 보내고 받은 데이터의 양 |
BLOCK I/O | 컨테이너가 호스트의 블록 장치에서 읽고 쓴 데이터의 양 |
PIDs | 컨테이너가 생성 한 프로세스 또는 스레드 수 |
컨테이너의 ID 혹은 이름으로 특정 컨테이너를 선택하여 리소스를 확인할 수 있습니다.
docker stats [container ID or NAME] docker stats e4e656795fbd container-1 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS e4e656795fbd container-0 0.01% 20.49MiB / 7.638GiB 0.26% 74.6MB / 74.3MB 54.4MB / 0B 15 db8fc597a868 container-1 5.72% 1.346GiB / 7.638GiB 17.63% 88.1MB / 96.3MB 94MB / 18.2MB 545
컨테이너 리소스 사용량을 json 포맷으로 출력해 봅니다.
docker stats e4e656795fbd --no-stream --format "{{ json . }}" {"BlockIO":"54.4MB / 0B","CPUPerc":"0.00%","Container":"e4e656795fbd","ID":"e4e656795fbd","MemPerc":"0.26%","MemUsage":"20.49MiB / 7.638GiB","Name":"container-0","NetIO":"74.6MB / 74.3MB","PIDs":"15"}
{ "BlockIO": "54.4MB / 0B", "CPUPerc": "0.00%", "Container": "e4e656795fbd", "ID": "e4e656795fbd", "MemPerc": "0.26%", "MemUsage": "20.49MiB / 7.638GiB", "Name": "k3d-h2o-serverlb", "NetIO": "74.6MB / 74.3MB", "PIDs": "15" }
위 예시 외에도, 원하는 출력값으로 설정할 수도 있습니다.
마무리
- 도커 컨테이너의 호스트 리소스 사용량을 확인하는 방법에 대해 알아보았습니다.
- 추가적인 자료는 https://docs.docker.com/engine/reference/commandline/stats/ 에서 확인할 수 있습니다.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.