시스템 명령어로 도커 컨테이너의 리소스 사용 정보 구하기
docker stats 명령어
Docker 컨테이너의 리소스 사용량에 대한 실시간 통계를 제공
실시간으로 변화하는 CPU 사용량, 메모리 사용량, 네트워크 I/O, 디스크 I/O 표시
각 수치는 사용자가 보기 편하도록 적절한 단위로 환산되어 표시됨
--no-stream 옵션을 추가할 경우
명령어를 실행한 시점의 통계만 출력하고 종료
사용 예시
$ docker stats [CONTAINER ID 또는 CONTAINER NAME] --no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ab0ter904kl432 myContainer 33.15% 9.352GiB / 352.1GiB 0.13% 4.3GB / 1.3GB 3.1kB / 66.2GB 294
---------------------------------------------------------------------------------------------------------------------------------------------------------------
df 명령어
파일 시스템의 이름, 전체 용량, 사용 중인 용량, 사용 가능한 용량, 사용률 및 마운트 위치 등의 정보 표시
-B 1 옵션
파일 시스템의 디스크 사용량을 바이트 단위로 출력하는 옵션
사용 예시
$ df -B 1
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/sda1 104857600000000000 20000000000 80000000000 21% /
tmpfs 1048576000000000 4000 1048572000 1% /dev/shm
/dev/sdb1 104857600000000000 1200000000 98000000000 2% /mnt/data
df -B 1명령어를 특정 도커 컨테이너에 대해 실행하려면 아래 명령어를 사용
docker exec -t 명령어
실행 중인 Docker 컨테이너 내에서 특정 명령을 실행
-t 옵션 : 터미널(TTY)를 할당하여 컨테이너 내부에서 실행하는 명령에 대해 사용자 입력을 받거나 출력을 표시할 수 있음
사용 예시
$ docker exec -t [CONTAINER ID 또는 CONTAINER NAME] df -B 1
total 값 구하기
$ docker exec -t [CONTAINER ID 또는 CONTAINER NAME] df -B 1 --total | awk '/total/'
total 1178074583240 863442963139 314631620101 % -
---------------------------------------------------------------------------------------------------------------------------------------------------------------
nproc 명령어
시스템에서 사용 가능한 프로세서(CPU 코어) 수 출력
도커 컨테이너에서 사용 가능한 프로세서 수
$ docker exec [CONTAINER ID 또는 CONTAINER NAME] nproc
32
32코어일 경우 0~31 번째 CPU 중 컨테이너에서 사용할 CPU 를 지정할 수 있음
$ docker update --cpuset-cpus=0,1,4 [CONTAINER ID 또는 CONTAINER NAME]
-> 1, 2, 5번째 CPU 를 사용하겠다고 지정
위 명령어 실행 후 사용 가능한 프로세서 출력 결과 예시
$ docker exec [CONTAINER ID 또는 CONTAINER NAME] nproc
3