3.1 docker stats 명령어
Docker는 실시간으로 컨테이너를 모니터링할 수 있는 내장 도구 — 명령어 docker stats
를 제공해. 이 명령어로 CPU, 메모리, 네트워크, 디스크 사용량 같은 주요 성능 지표를 추적할 수 있어. 어떻게 docker stats를 사용해서 컨테이너 상태와 성능을 파악할 수 있는지 같이 보자.
명령어 docker stats
는 각 컨테이너의 실시간 동적 통계를 제공해. 제공되는 지표는 다음과 같아:
- CPU %: 컨테이너의 CPU 사용률.
- MEM USAGE / LIMIT: 컨테이너의 메모리 사용량과 설정된 제한.
- MEM %: 컨테이너 메모리 사용 비율.
- NET I/O: 네트워크 트래픽 (수신 및 송신).
- BLOCK I/O: 디스크에서의 입/출력 작업 횟수.
- PIDS: 컨테이너 내부에서 실행 중인 프로세스 개수.
명령어 docker stats
기본 사용법
명령어 docker stats
를 매개변수 없이 실행하면, 실행 중인 모든 컨테이너의 메트릭을 표시해:
docker stats
docker stats
명령어의 출력 예시:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
d9b100f2f636 my_nginx 0.07% 1.24MiB / 1.952GiB 0.06% 1.68kB / 0B 0B / 12.3MB 2
fa3f3f3f3f3f my_postgres 2.13% 230.5MiB / 1.952GiB 11.52% 2.12MB / 2.05MB 85.6MB / 45.2MB 10
특정 컨테이너 모니터링
컨테이너 이름이나 ID를 지정해서 특정 컨테이너의 메트릭을 추적할 수도 있어:
docker stats my_nginx
3.2 docker stats
명령의 설정
docker stats
명령의 매개변수
docker stats
명령은 출력 데이터를 커스터마이징할 수 있는 여러 옵션을 지원해:
--all
또는-a
: 중지된 컨테이너를 포함하여 모든 컨테이너에 대한 메트릭을 표시해.--no-stream
: 메트릭을 한 번 표시하고 명령 실행을 종료해.--format
: 템플릿을 사용하여 출력 데이터를 커스터마이징해.
--no-stream
매개변수 사용 예시
모든 컨테이너에 대해 메트릭을 한 번 출력:
docker stats --no-stream
--format
매개변수 사용 예시
포맷된 데이터 출력:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
출력 예시:
CONTAINER ID CPU % MEM USAGE / LIMIT
d9b100f2f636 0.07% 1.24MiB / 1.952GiB
fa3f3f3f3f3f 2.13% 230.5MiB / 1.952GiB
3.3 docker stats
의 실용적 사용
예제 1: 서버 부하 추적
서버에서 docker stats
를 이용해서 컨테이너를 모니터링하고 CPU 또는 메모리 부하가 높은 컨테이너를 식별할 수 있어. 이렇게 하면 리소스 사용을 최적화하고 애플리케이션 성능을 향상시킬 수 있어.
docker stats
예제 2: 테스트 중 특정 컨테이너 모니터링
새로운 애플리케이션 버전을 테스트하거나 설정을 변경할 때 특정 컨테이너의 메트릭을 추적해서 성능에 부정적인 영향을 미치지 않는지 확인할 수 있어.
docker stats my_test_container
예제 3: 모니터링 시스템과 통합
docker stats
출력 정보를 외부 모니터링 시스템과 통합할 수 있어. --format
옵션을 사용해서 네가 사용하는 모니터링 도구와 호환되는 출력 형식을 만들 수 있어.
docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"
docker stats 명령의 제한
docker stats
는 실시간으로 유용한 메트릭을 제공하지만 몇 가지 제한 사항이 있어:
- 제한된 메트릭: 이 명령은 기본 메트릭만 표시하며 컨테이너 상태에 대한 상세한 정보를 제공하지 않아.
- 수동 사용:
docker stats
는 수동으로 사용하기엔 편리하지만, 자동 모니터링 및 경고 설정을 위해선 Prometheus와 Grafana 같은 전문 도구를 사용하는 게 더 좋아.
GO TO FULL VERSION