问题修复
- 容器没有奔溃,但是
8081端口登陆不了
使用脚本定时检查
8081端口,尝试5次,每次间隔1秒,使用crontab -e,两分钟定时*/2 * * * * bash /root/.run/pt_dog.sh
#!/bin/sh
host=127.0.0.1
port=8081
max_retries=5
delay=1
count=0
date > /root/.run/pt_dog.log
while [ "$count" -lt "$max_retries" ]; do
if (echo > /dev/tcp/"$host"/"$port") &>/dev/null; then
echo "端口开启" >> /root/.run/pt_dog.log
exit 0
else
count=$((count + 1))
# 如果还没到最大重试次数则等至少 delay 秒再重试
if [ "$count" -lt "$max_retries" ]; then
sleep "$delay"
fi
fi
done
# 到这里说明尝试了 max_retries 次都失败
echo "端口关闭" >> /root/.run/pt_dog.log
cd /root/.docker
docker compose stop
sleep 5
docker compose up -d
date >> /root/.run/pt_dog.log
echo "重启docker成功" >> /root/.run/pt_dog.log
# 企业微信通知
time=`TZ="Asia/Shanghai" date "+%Y-%m-%d %H:%M:%S"`
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=****' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "'"$time"' pt_dog服务重启"
}
}' &>/dev/null
上次更新: 2026/02/23, 04:13:25