一、前言
Docker 让开发和部署变得容易了,正因为容易导致不经意的就在不断添加新的 docker 映像、容器等。这些都将占用了系统上的宝贵空间,而且是一直在快速地增加。所以有必要清理Docker环境,把一些不在使用的 Docker 资源清理掉。
二、查看docker磁盘的使用情况
1、查看服务器硬盘占用情况
df -h
可以看到大部份空间是docker占用的

2、具体查看docker磁盘使用情况
docker system df

(1)TYPE 列出了 Docker 使用磁盘的 4 种类型:
- Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的
- Containers:运行的容器占用的空间,表示每个容器的读写层的空间
- Local Volumes:容器挂载本地数据卷的空间
- Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)
(2)SIZE:是占用的大小;RECLAIMABLE :是可以恢复的大小。
(3)docker清理命令(不影响运行中容器):
# 清理未使用的镜像
docker image prune
# 清理无用的数据卷
docker volume prune
# 清理未使用的网络
docker network prune
# 清理构建缓存
docker builder prune
# 清理Docker日志
docker truncate -s 0 <logfile>
三、docker日志配置
docker默认是不限制容器运行产生的日志文件大小的,如果日志文件增长太快,这会导致服务器硬盘资源迅速被消耗,因此配置合适的日志策略是十分必要的。
配置步骤:
1、修改daemon.json文件,没有新建就好
vi /etc/docker/daemon.json
2、写入配置:
"log-driver": "json-file",
"log-opts": {
"cache-compress": "true",
"cache-disabled": "false",
"cache-max-file": "5",
"cache-max-size": "20m",
"env": "os,customer",
"labels": "somelabel",
"max-file": "5",
"max-size": "50m"
}
max-file:最大日志文件数量
max-size:最大日志文件总大小
完整配置:
{
"log-driver": "json-file",
"log-opts": {
"cache-compress": "true",
"cache-disabled": "false",
"cache-max-file": "5",
"cache-max-size": "20m",
"env": "os,customer",
"labels": "somelabel",
"max-file": "5",
"max-size": "50m"
},
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/"
]
}
3、重新加载配置:
systemctl daemon-reload
4、重新启动docker:
systemctl restart docker
1万+

被折叠的 条评论
为什么被折叠?



