方式一:
删除日志文件的内容:
docker ps -aq | xargs docker inspect --format='{{.LogPath}}' | xargs truncate -s 0
删除日志文件本身:
docker ps -aq | xargs docker inspect --format='{{.LogPath}}' | xargs rm
1、docker ps -aq:列出所有容器的ID(包括运行中和已停止的容器)。
2、docker inspect --format=‘{{.LogPath}}’:获取每个容器的日志路径。
3、xargs truncate -s 0:使用truncate -s 0命令清空每个日志文件。
a.确保你具有足够的权限来执行这些命令,并谨慎操作,以免删除重要的日志数据。
b.注意这些命令可能会清空所有容器的日志文件,包括正在运行的和已经停止的容器。如果只想清空特定容器的日志文件,可以根据需要修改命令。
方式二:
1.创建sh脚本 clean_docker_log.sh,内容如下:
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
2.给脚本加权限
chmod +x clean_docker_log.sh
3.执行脚本(切到脚本所在目录)
./clean_docker_log.sh