Docker存储空间清理以及另外的一些命令
作者:豆小匠
大家在使用一段时间的docker容器后,会发现堆叠了很多无用的垃圾文件,比如,终止的容器、限定不要的镜像,混乱的存储等,这篇文章主要介绍了Docker存储空间清理以及另外的一些命令的相关资料,需要的朋友可以参考下
不知不觉服务器存储空间被Docker掏空了…
查看Docker空间占用情况
使用docker system df
命令,可以加 -v 查看详情
清理Docker不需要的内容
使用docker system prune -a
命令清理Docker
- 所有停止的容器
- 所有没有被使用的networks
- 所有没容器的镜像
- 所有build cache清理效果非常可观。
另外的一些命令
# 清理无用的容器(退出的容器) docker ps -aq --filter "status=exited" | xargs docker rm # 清理无用的镜像(无任何容器关联) docker images -q --filter "dangling=true" | xargs docker rmi # 清理未被使用的数据卷 docker volume ls -qf dangling=true | xargs docker volume rm # 清理网络资源 docker network ls | grep "bridge" | awk '/ / { print $1 }' | xargs docker network rm # 清理所有容器、镜像和网络(慎用) docker container stop $(docker container ls -aq) docker container rm $(docker container ls -aq) docker image rm $(docker image ls -aq) docker network rm $(docker network ls -q)
附:简单几步自动释放Docker占用空间
介绍五种清理Docker占用的磁盘空间的方法:清理未使用的容器、清理未使用的镜像、清理临时文件、清理指定容器的临时文件和自动清理。
- 清理未使用的容器:使用以下命令可以清理所有未运行的容器:
docker rm $(docker ps -a -q)
该命令会删除所有未运行的容器。如果你只想删除一个特定的容器,可以使用容器的 ID 或名称作为参数。
- 清理未使用的镜像:使用以下命令可以清理所有未使用的镜像:
docker image prune
该命令会删除所有未使用的镜像。如果你只想删除特定的镜像,可以使用镜像的 ID 或名称作为参数。
- 清理临时文件:使用以下命令可以清理 Docker 生成的临时文件:
docker system prune -a
该命令会删除所有未使用的容器、镜像和临时文件。
- 清理未使用的容器:如果要清理stop状态的容器,可以使用以下命令:
docker container prune
该命令会删除所有未运行的容器,但保留未使用的镜像和临时文件。
- 自动清理:你可以编写一个脚本,将这些命令组合起来并定期运行。
例如,你可以创建一个 cron 任务来定期清理 Docker 空间。下面给一个简单的 cron 任务示例,每周日的凌晨 1 点清理 Docker 空间:
0 1 * * sun /path/to/cleanup_docker.sh
在终端里输入命令 “crontab -e” 以编辑当前用户的cron任务列表,加入上述命令,然后在 /path/to/cleanup_docker.sh 中,可以将清理命令组合起来,例如:
#!/bin/bash # 清理临时文件 docker system prune -a # 清理未使用的容器 docker container prune
需要将 /path/to/cleanup_docker.sh 替换为实际的脚本路径。
总结
到此这篇关于Docker存储空间清理以及另外的一些命令的文章就介绍到这了,更多相关Docker存储空间清理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!