每日shell脚本之容器健康检测
#!/bin/bash
# 设置容器名称和健康检查URL
container_name="my-container"
health_check_url="http://localhost:8080/health"
# 循环检测容器健康状况
while true; do
# 获取容器状态
container_status=$(docker inspect --format='{{.State.Running}}' $container_name)
# 如果容器正在运行,则进行健康检查
if [ "$container_status" = "true" ]; then
# 发送HTTP请求到健康检查URL
response=$(curl -s -o /dev/null -w "%{http_code}" $health_check_url)
# 根据响应码判断容器是否健康
if [ "$response" = "200" ]; then
echo "$(date): $container_name is healthy"
else
echo "$(date): $container_name is not healthy"
# 停止容器
docker stop $container_name
fi
fi
# 等待一段时间后再次检测
sleep 60
done