docker监控运行状态shell 怎样监控docker容器运行状态 shell 脚本
zaige66 人气:2想了解怎样监控docker容器运行状态 shell 脚本的相关内容吗,zaige66在本文为您仔细讲解docker监控运行状态shell的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:监控docker容器,运行状态,shell脚本,下面大家一起来学习吧。
场景
公司项目部署在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
结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
加载全部内容