清理docker日志、镜像

docker默认容器日志文件位置/var/lib/docker/containers/
docker默认容器存储和镜像位置/var/lib/docker/overlay2/

1、清空日志文件--非删除别害怕(可以加个计划任务)
find /var/lib/docker/containers/* -name '*-json.log'|awk '{print "echo > "$0}'|bash

0 0 * * 1    /usr/bin/find /var/lib/docker/containers/* -name '*-json.log'|awk '{print "echo > "$0}'|bash
每周一清理一次
清除未使用的镜像-(临时关闭的容器镜像也会被删除哦)

echo y | /usr/bin/docker system prune -a

2、限制日志文件大小
配置文件 /etc/docker/daemon.json 添加log-dirver和log-opts参数:

{
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

重启docker守护进程
systemctl daemon-reload
systemctl restart docker

注意:设置的日志大小,只对新建的容器有效。


docker system prune
命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune -a
命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚吶。
docker system df
类似于Linux上的df命令,用于查看Docker的磁盘使用情况:

你可能感兴趣的:(清理docker日志、镜像)