小知识: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 日志脚本如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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

运行结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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%

%小知识:Docker 清理环境操作-猿站网-插图

执行脚本 clean_docker_log_space.log ,执行清理脚本之后df -TH,docker 使用系统磁盘的43%

%小知识:Docker 清理环境操作-1猿站网-插图

docker部署建议

最后建议大家在部署docker 的应用建议在docker自定义配置目录

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#首先,挂载容量的磁盘,挂载目录选择/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 清理环境操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_15973399/article/details/109674639

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker 修改docker存储位置 修改容器镜像大小限制操作

2023-3-26 15:56:41

建站知识

小知识:在Docker中安装Elasticsearch7.6.2的教程

2023-3-26 16:11:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索