#!/bin/bash
 
#查看当前各个容器的CPU状态,并将结果覆盖输出到文件
docker stats --no-stream --format '{{.Container }} {{ .CPUPerc }}' > container.text;
 
#获取文件行数
rowNumber=$(awk 'END{print NR}' container.text);
 
 
# for 循环
for((i=1;i<=$rowNumber;i++));
do
#容器名称
containerName=$(sed -n ''"$i"',1p' container.text | awk -F ' ' 'END {print $1}');
#容器CPU占用率
cpu=$(sed -n ''"$i"',1p' container.text | awk -F ' ' 'END {print $2}');
#判断CPU是否大于100%
if [[ ${cpu%.*} -ge 200 ]];
then
docker restart ${containerName};
fi
done
 
 
########################################
注意:超过100%这个要看核数,如果是双核就是200%