主页 > 知识库 > 如何监控docker容器运行状态 shell 脚本

如何监控docker容器运行状态 shell 脚本

热门标签:硅谷的囚徒呼叫中心 使用U盘装系统 检查注册表项 百度竞价点击价格的计算公式 阿里云 美图手机 网站建设 智能手机

场景

公司项目部署在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

结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

标签:黄山 山南 湖北 贺州 湘潭 烟台 通辽 怀化

巨人网络通讯声明:本文标题《如何监控docker容器运行状态 shell 脚本》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266