shell 实现容器状态监听
代码
点击查看代码
#!/bin/bash
# 设置容器名称
CONTAINER_NAME="test_containner"
# 检查容器是否在运行
check_container() {
docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" 2>/dev/null
}
# 重启容器
restart_container() {
echo "容器 ${CONTAINER_NAME} 异常,正在尝试重启..."
docker restart "$CONTAINER_NAME"
}
# 主循环
while true; do
# 获取容器状态
STATE=$(check_container)
if [ "$STATE" != "true" ]; then
# 容器不在运行状态,尝试重启
restart_container
else
echo "容器 ${CONTAINER_NAME} 运行正常。"
fi
# 每隔60秒检查一次
sleep 60
done
执行命令
# 添加执行权限
chmod +x monitor_container.sh
# 运行脚本:
./monitor_container.sh
解释
脚本会无限循环检查指定容器的状态,如果容器不在运行状态,它会尝试重启该容器。脚本每隔60秒检查一次

浙公网安备 33010602011771号