64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
由于你的主机上已经没有任何容器,可以使用以下命令彻底清理 Docker 残留数据:
|
||
|
||
## 检查当前空间占用
|
||
|
||
```bash
|
||
# 查看 Docker 存储使用情况
|
||
docker system df -v
|
||
|
||
# 查看 overlay2 目录下各子目录占用空间
|
||
du -sh /var/lib/docker/overlay2/* | sort -rh | head -20
|
||
```
|
||
|
||
## 清理方案(按彻底程度排序)
|
||
|
||
### 方案一:使用 Docker 内置清理命令
|
||
这是最安全的方法,会清理所有未使用的资源 :
|
||
|
||
```bash
|
||
# 删除所有停止的容器、未使用的网络、悬空镜像和构建缓存
|
||
docker system prune -a -f
|
||
|
||
# 同时清理未使用的 volumes
|
||
docker system prune -a -f --volumes
|
||
|
||
# 清理构建缓存
|
||
docker builder prune -a -f
|
||
```
|
||
|
||
### 方案二:手动清理特定资源
|
||
如果方案一清理不彻底,可以逐项清理 :
|
||
|
||
```bash
|
||
# 删除所有容器
|
||
docker rm -f $(docker ps -a -q)
|
||
|
||
# 删除所有镜像
|
||
docker rmi -f $(docker images -q)
|
||
|
||
# 删除所有 volumes
|
||
docker volume prune -f
|
||
|
||
# 删除所有网络
|
||
docker network prune -f
|
||
```
|
||
|
||
### 方案三:完全重置 Docker(终极方案)
|
||
如果确认不需要保留任何 Docker 数据,可以完全重置 :
|
||
|
||
```bash
|
||
# 停止 Docker 服务
|
||
sudo systemctl stop docker
|
||
|
||
# 删除整个 Docker 数据目录
|
||
sudo rm -rf /var/lib/docker
|
||
|
||
# 重启 Docker 服务
|
||
sudo systemctl start docker
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- **方案一和二**不会影响正在运行的容器,但你的主机已经没有容器了,所以可以放心执行
|
||
- **方案三**会删除所有 Docker 数据,包括镜像、容器、卷和网络配置,执行后需要重新拉取镜像
|
||
- 建议先执行方案一,通常就能释放大部分空间 |