Docker 在 /var
目录下可能会产生大量空间占用,主要原因是镜像、容器、数据卷和临时文件的累积。要清理这些资源,可以使用以下方法:
注意:这些操作会删除你的 Docker 资源,所以在执行前,请确保已备份重要数据。
- 删除未使用的 Docker 镜像
运行以下命令删除所有未使用的镜像:
docker system prune -a --volumes
这将删除所有未使用的镜像、容器、网络和数据卷。
- 删除单个无用镜像、容器、网络和数据卷
- 删除镜像:
docker rmi <IMAGE_ID>
- 删除容器:
docker rm <CONTAINER_ID>
- 删除网络:
docker network rm <NETWORK_ID>
- 删除数据卷:
docker volume rm <VOLUME_ID>
要获取 <IMAGE_ID>
、<CONTAINER_ID>
、<NETWORK_ID>
和 <VOLUME_ID>
,你可以使用以下命令:
- 列出镜像:
docker images
- 列出容器:
docker ps -a
- 列出网络:
docker network ls
- 列出数据卷:
docker volume ls
- 删除悬空镜像
悬空镜像是指没有与任何容器关联的镜像。你可以运行以下命令来删除悬空镜像:
docker image prune
- 删除停止的容器
运行以下命令删除所有停止的容器:
docker container prune
- 删除未使用的数据卷
运行以下命令删除所有未使用的数据卷:
docker volume prune
- 删除未使用的网络
运行以下命令删除所有未使用的网络:
docker network prune
- 手动清理
/var
目录下的 Docker 临时文件
你还可以手动删除 /var/lib/docker/tmp
目录下的临时文件。首先,确保 Docker 服务已停止,然后执行以下命令:
sudo systemctl stop docker
sudo rm -rf /var/lib/docker/tmp/*
sudo systemctl start docker
执行上述操作后,Docker 在 /var
目录下的空间占用应该会大幅减少。