Docker清理占用空间

2023-10-30 19:08:45 浏览数 (1)

关注“希里安”,get更多有用干货!

## 近日见闻

1. 今儿忙,没空看新闻

## docker清理空间

一句命令查看占用空间:

代码语言:javascript复制
```
docker system df
```

Type 列出docker使用磁盘的四种类型:包括images占用空间、containers容器占用空间、local volumes挂在本地数据卷的空间、构建中产生的缓存空间,RECLAIMABLE 是可回收大小。

创建一个容器时,都会有一些文件和目录被创建,例如:

/var/lib/docker/containers/ID目录,如果容器使用了默认的日志模式,他的所有日志都会以JSON形式保存到此目录下。

/var/lib/docker/overlay2 目录下含有容器的读写层,如果容器使用自己的文件系统保存了数据,那么就会写到此目录下。

删除所有已经停止的容器:

代码语言:javascript复制
 docker container prune

是删除停止的容器,如果想删除所有容器(包括停止的、正在运行的),可以使用下面这2个命令:

代码语言:javascript复制
$ docker rm -f $(docker ps -aq)


$ docker container rm -f $(docker container ls -aq)

有一些镜像是隐形的:

子镜像,就是被其他镜像引用的中间镜像,不能被删除。

悬挂状态的镜像,就是不会再被使用的镜像,可以被删除。

下面的命令列出所有悬挂状态的镜像:

代码语言:javascript复制
$ docker image ls -f dangling=true

删除此类镜像:

代码语言:javascript复制
docker image rm $(docker image ls -f dangling=true -q)或 docker image prune

如果想删除所有镜像,可以使用下面的命令:

代码语言:javascript复制
docker image rm $(docker image ls -q)

删除不再使用的数据卷:

代码语言:javascript复制
docker volume rm $(docker volume ls -q) 或 docker volume prune

删除 build cache 可以使用命令:

代码语言:javascript复制
$ docker builder prune

docker 系统层面也有 prune 这个子命令,可以一键清理没用的空间:

代码语言:javascript复制
$ docker system prune

0 人点赞