首先查看服务器内存占用情况:
df -h
其次查看docker所在目录下的内存使用情况:
#找到docker所在目录
which docker
#cd到docker目录下,列出所有文件夹
cd
ls
#查看具体是哪个文件夹异常
du -h --max-depth=1
如果是containers过大,大概率是docker容器运行时间较长日志太大。可以通过以下命令具体查看每个容器的日志的大小。
docker inspect --format='{{.LogPath}}' <容器ID或名称> | xargs sudo du -sh
定位到异常容器后可删除并重启该容器,在启动容器的命令中加入参数设置,限制日志的大小。例如:
#限制日志文件为50M
docker run --name mycontainer -d --log-opt max-size=50m <image>
如果是overlayer2文件夹较大,可能是Docker未用容器、镜像、缓存等过多:如果Docker中存在许多未使用的容器、镜像或缓存,这些资源也会占用磁盘空间。
查看当前所有的docker容器和镜像,确认是否有废弃容器和镜像可以删除。
#查看docker容器
docker ps -a
#删除容器
docker rm <容器id>
#查看docker镜像
docker images
#删除镜像
docker rmi <镜像id>
或者也可以通过以下命令清理所有未使用的容器、镜像、网络、卷:
#删除所有未使用的容器、镜像、网络、卷:
docker system prune --volumes