如何监控docker容器运⾏状态shell脚本
场景
公司项⽬部署在docker中,由于未知原因容器偶尔会停⽌,需要写⼀个脚本监控容器运⾏状态,如果容器停⽌了,就再启动该容器
docker重启容器命令shell脚本
#!/bin/bash
# 传⼊容器名称
containerName=$1
currTime=`date +"%Y-%m-%d %H:%M:%S"`
# 查看进程是否存在
exist=`docker inspect --format '{{.State.Running}}' ${containerName}`
if [ "${exist}" != "true" ]; then
docker start ${containerName}
# 记录
echo "${currTime} 重启docker容器,容器名称:${containerName}" >> /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.log
fi
定时任务crontab
crontab -e 进⾏ linux 定时任务的编辑
# 监控docker 8081 容器
*/1 * * * * sh /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.sh server_wbwf_wbwf-app_1
# 监控 docker 7081 容器
*/1 * * * * sh /mnt/xvde1/ms_ctynyd/scripts/wbwf_monitor.sh server_hb_hb-test-app_1
补充:shell脚本判断某服务是否运⾏
shell脚本判断某服务是否开启
脚本如下:
#!/bin/bash
#检查服务状态,是否安装
read -p "请输⼊要检测的服务:" SERVICE
netstat -anp | grep $SERVICE &> /dev/null
if [ $? -eq 0 ]
then
echo "$SERVICE服务已经启动!"
else
rpm -q $SERVICE &> /dev/null
if [ $? -eq 0 ]
then
echo "$SERVICE服务已安装,正在启动...."
service $SERVICE start
else
echo "该服务未安装!"
fi
fi
结果如下:
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。