这篇文章主要介绍了Docker 清理环境操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
开始清理,需要慎重!
列出无用的卷
docker volume ls -qf dangling=true
清理无用的卷
docker volume rm $(docker volume ls -qf dangling=true)
清理无用的镜像
docker rmi $(docker images | grep ‘^<none>’ | awk ‘{print $3}’)
继续清理
docker system prune
docker volume prune
以上足够使用,其他命令不要知道了!
补充知识:Docker 一文教你清理docker空间释放磁盘空间
如何清理docker目录
docker 目录已经占满系统盘,又不好迁移,问下有没有快捷的解决方案,答案是有的。以下是我整理的经典案列,适合生产以及测试使用。编写清理docker 日志脚本如下:
[root@www ~]# cat clean_docker_log_space.log
#!/bin/bash
docker_log_files=$(find /var/lib/docker/containers/ -name '*-json.log')
docker_logs_size=$(find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}')
free -h && sync && echo 1 > /proc/sys/vm/drop_caches #释放系统缓存
echo -e "\033[32mThe docker log total size is $docker_logs_size\033[0m"
for log in $docker_log_files
do
echo "Now is cleaning docker log,docker core logs:$log"
cat /dev/null > $log
systemctl reload docker #加载docker服务,不影响已经docker
done
free -h
运行结果如下:
[root@www ~]# ./clean_docker_log_space.log
total used free shared buff/cache available
Mem: 976M 598M 112M 6.8M 264M 157M
Swap: 511M 66M 445M
The docker log total size is 80 K
Now is cleaning docker log,docker core logs:/var/lib/docker/containers/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e-json.log
Now is cleaning docker log,docker core logs:/var/lib/docker/containers/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2-json.log
Now is cleaning docker log,docker core logs:/var/lib/docker/containers/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00-json.log
total used free shared buff/cache available
Mem: 976M 599M 176M 6.8M 200M 168M
Swap: 511M 66M 445M
[root@www ~]# find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}'
0 K
建议把脚本加Linux 定时任务里面每周清理一次,这个就可以保证docker 不产生而外的日志文件。
生产环境如下所示
df -TH docker 使用系统磁盘的93%
![图片[1]-Docker 清理环境操作_docker-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/06/a4d8fa2657bb.jpg)
执行脚本 clean_docker_log_space.log ,执行清理脚本之后df -TH,docker 使用系统磁盘的43%
![图片[2]-Docker 清理环境操作_docker-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/06/282401202969.jpg)
docker部署建议
最后建议大家在部署docker 的应用建议在docker自定义配置目录
#首先,挂载容量的磁盘,挂载目录选择/data [root@www ~]# mkdir -p /data #停止docker [root@www ~]# systemctl stop docker #将数据移到新目录 [root@www ~]# mv /var/lib/docker /data #修改配置,增加 --graph /data [root@www ~]# vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /data [root@www ~]# systemctl daemon-reload [root@www ~]# systemctl start docker [root@www ~]# systemctl enable docker.service Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
以上这篇Docker 清理环境操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持安全小天地。
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END
喜欢就支持一下吧
相关推荐















请登录后查看评论内容