# 查看docker相关存储占用
docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 20 20 2.068GB 315.5MB (15%)
Containers 39 36 13.45MB 13.36MB (99%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
# 参考:Docker 生产环境之配置对象 - 修剪/删除(prune)未使用的 Docker 对象_kikajack的博客-CSDN博客
1 清理72小时前 不用的镜像
$ docker image prune -a --filter "until=72h"
2 清理 72小时前 停止的容器
$ docker container prune --filter "until=72h"
3 修改72小时之前 网络
$ docker network prune --filter "until=72h"
4 修改72小时之前 volumes 和一切
docker system prune --filter "until=72h" # 低版本修剪一切
docker system prune --volumes --filter "until=72h" # 17版本之后需要加这个修剪一切
备注:默认情况下,系统会提示是否继续。要绕过提示,请使用 -f
或 --force
标志。
docker system prune -f --filter "until=72h"
5 清理日志
# /var/lib/docker目录结构 Docker文件目录 - 简书
Docker默认的文件目录位于Linux server的/var/lib/docker 下面。目录结构如下
|-----aufs :docker后端文件存储系统|-----diff:存放docker image的subimage,每个目录中存放了subimage的真实文件和目录
|-----layers:存放docker image的layer文件,每个layer文件都记录了其祖先image列表
|-----mnt:每个容器实例的文件layer的目录挂载点
|-----containers:用于存储容器信息
|-----image:用来存储镜像中间件及本身信息,大小,依赖信息
|-----network
|-----swarm
|-----tmp:docker临时目录
|-----trust:docker信任目录
|-----volumes:docker卷目录
# 清理日志 Docker容器日志查看与清理(亲测有效)_yjk13703623757的博客-CSDN博客_docker 容器日志
# 查看日志脚本
#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
# 单个日志清理命令
truncate -s 0 429cbdfcb3f4436c7a616f0d81a02a9402515fb30250914adb52f3a5218945b8-json.log
# 清理 所有容器日志脚本
#!/bin/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 ========"
# 单个容器设置log大小
nginx:
image: nginx:1.12.1
restart: always
logging:
driver: “json-file”
options:
max-size: “5g”
# 全局设置log日志大小
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
# 设置完记得重启docker
// 重启docker守护进程
# systemctl daemon-reload
# systemctl restart docker
迁移:docker的/var/lib/docker目录迁移 - 熊小熊的个人页面 - OSCHINA - 中文开源技术交流社区
清理:11.1 Docker 清理none镜像 Prune命令_万物得其本者生,百事得其道者成-CSDN博客
# overlay2.size限制
原文:Docker storage-driver overlay2 限制容器可占用的磁盘空间_小楼一夜听春雨,深巷明朝卖杏花-CSDN博客_docker限制磁盘空间
# 根据目录id查找容器id 等信息
通过docker overlay2 目录名查找容器名和容器ID_drifter-CSDN博客_docker的overlay2目录
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "目录ID"
# 未解决