一、需求背景
服务器的docker容器太多,需要对特定容器查看资源占用情况并对其进行优化处理。
二、具体命令
1、统计docker容器的数量
要统计正在运行的 Docker 容器的数量:docker ps | wc -l
统计包括停止状态的容器:docker ps -a | wc -l
2、统计docker容器内存占用情况,并按占用从大到小进行排序
docker stats --no-stream --format "table {{.Container}}t{{.Name}}t{{.CPUPerc}}t{{.MemUsage}}" | sort -k4 -rh
docker stats --no-stream --format "table {{.Container}}t{{.Name}}t{{.CPUPerc}}t{{.MemUsage}}" | sort -k4 -rh
57c14913cec5 jms_core 0.75% 531.3MiB / 1.892GiB
3ea8a8455053 jms_celery 0.49% 227.3MiB / 1.892GiB
b099024a1c9a jms_chen 0.23% 92.78MiB / 1.892GiB
2e906bf8f03d jms_lion 0.19% 45.88MiB / 1.892GiB
99e17b610e27 jms_mysql 0.01% 41.98MiB / 1.892GiB
aeb966ab9d4f jms_koko 0.02% 34.57MiB / 1.892GiB
4b66c075d4f0 jms_magnus 0.21% 29.28MiB / 1.892GiB
5d58b39fb9f3 dm8_01 0.05% 26.13MiB / 1.892GiB
56ad69d2fcef jms_kael 0.20% 24.02MiB / 1.892GiB
fcecf0549778 portainer 0.00% 16.62MiB / 1.892GiB
7cca8a628684 jms_redis 0.12% 10.3MiB / 1.892GiB
425e7a3a732e jms_web 2.36% 5.191MiB / 1.892GiB
3、统计docker容器CPU占用情况,并按占用从大到小进行排序
docker stats --no-stream --format "table {{.Container}}t{{.Name}}t{{.CPUPerc}}" | sort -k3 -rh
docker stats --no-stream --format "table {{.Container}}t{{.Name}}t{{.CPUPerc}}" | sort -k3 -rh
57c14913cec5 jms_core 0.57%
3ea8a8455053 jms_celery 0.27%
2e906bf8f03d jms_lion 0.18%
7cca8a628684 jms_redis 0.11%
b099024a1c9a jms_chen 0.09%
5d58b39fb9f3 dm8_01 0.04%
425e7a3a732e jms_web 0.03%
aeb966ab9d4f jms_koko 0.01%
99e17b610e27 jms_mysql 0.01%
fcecf0549778 portainer 0.00%
CONTAINER NAME CPU %
56ad69d2fcef jms_kael 0.00%
4b66c075d4f0 jms_magnus 0.00%