由于运行中会产生大量日志,我这里做了脚本,需要按照我的要求来完成。
群晖nas开启SSH端口。
用自己的SSH软件链接自己的NAS。
1.获得root权限:
sudo -i
会出现密码验证。再次输入自己的nas密码来获得root权限
2.使用命令docker ps 就能列出所有在运行中的容器
docker ps
使用下面的命令可以查看具体的日志内容
docker logs <容器id>
我这里需要执行的命令是:
docker logs ddc18acb0c78
输入命令后可看到我容器的日志。说明这个是我们要找的容器
docker inspect --format='{{.LogPath}}' 上一部获得的容器ID,我这里就要写成下面的命令
docker inspect --format='{{.LogPath}}' ddc18acb0c78
把这个地址在记录下来:
/volume1/@docker/containers/ddc18acb0c78b3df05e17da5aaf800ae6104eb3f9bc1a6ae2aab64704a51f622/log.db
复制我的脚本并按照要求修改:
#!/bin/bash
# 设置日志文件的路径
LOG_FILE="/volume1/@docker/containers/ddc18acb0c78b3df05e17da5aaf800ae6104eb3f9bc1a6ae2aab64704a51f622/log.db"
# 设置 Docker 容器的 ID
CONTAINER_ID="ddc18acb0c78"
# 删除日志文件
if [ -f "$LOG_FILE" ]; then
rm -f "$LOG_FILE"
echo "Deleted log file: $LOG_FILE"
else
echo "Log file does not exist: $LOG_FILE"
fi
# 重启 Docker 容器
if docker ps -q --filter "id=$CONTAINER_ID" | grep -q .; then
docker restart "$CONTAINER_ID"
echo "Restarted Docker container: $CONTAINER_ID"
else
echo "Docker container not found: $CONTAINER_ID"
fi
新建:fcnat-log-del 脚本,已root权限运行
脚本运行地址:
bash /volume1/docker/logDel/cleanup_docker_logs.sh
这个容器每天产生的日志内容可能会超过100M,所以要已脚本方式,每天清理一次,之后会重新启动容器。保持容器的冗余数据清理。
© 版权声明
未经作者许可,不得转载。转载他人文章时,请注明出处。
THE END
暂无评论内容