Docker 清理环境操作

 更新时间:2020年11月19日 10:07:47   作者:Why Coding  
这篇文章主要介绍了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%

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

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 清理环境操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker-利用dockerfile来搭建tomcat服务的方法

    Docker-利用dockerfile来搭建tomcat服务的方法

    这篇文章主要介绍了Docker-利用dockerfile来搭建tomcat服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Docker安装Nginx并修改Nginx配置文件的方法详解

    Docker安装Nginx并修改Nginx配置文件的方法详解

    这篇文章主要给大家介绍了关于Docker安装Nginx并修改Nginx配置文件的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • 详细讲解Docker-Compose部署Kafka KRaft集群环境

    详细讲解Docker-Compose部署Kafka KRaft集群环境

    这篇文章主要为大家介绍了Docker-Compose部署Kafka KRaft集群环境的全面详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Docker使用的个人学习总结

    Docker使用的个人学习总结

    最近时不时会用到很多开发工具,无奈装了太多无用软件,所以不想安装太多开发软件在电脑上,所以想到了用docker容器来配置开发环境适应不同开发内容,这篇文章主要给大家总结了关于Docker使用的一些个人学习知识点,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 详解用Docker构建MySQL主从环境

    详解用Docker构建MySQL主从环境

    这篇文章主要介绍了详解用Docker构建MySQL主从环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Dockerfile常用命令的使用简介

    Dockerfile常用命令的使用简介

    这篇文章主要介绍了Dockerfile常用命令的使用简介,帮助大家更好的理解和学习使用Docker,感兴趣的朋友可以了解下
    2021-04-04
  • Docker中Cgroup资源配置的实现

    Docker中Cgroup资源配置的实现

    Cgroup不仅可以限制被namespace 隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等,本文主要介绍了Docker中Cgroup资源配置的实现,感兴趣的可以了解一下
    2023-09-09
  • docker镜像与传统vm虚拟机区别及分析

    docker镜像与传统vm虚拟机区别及分析

    这篇文章主要是内容分享系列,为大家用大白话通俗的讲解docker镜像与传统vm虚拟机区别以及分析,有需要的朋友可以借鉴参考想,希望能够有所帮助
    2022-03-03
  • 记一次Docker生产环境搭建的方法

    记一次Docker生产环境搭建的方法

    这篇文章主要介绍了记一次Docker生产环境搭建的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Docker容器harbor私有仓库部署和管理

    Docker容器harbor私有仓库部署和管理

    这篇文章主要介绍了Docker容器harbor私有仓库部署和管理,文章围绕主题展开详细的内容介绍,具有一定的的参考价值,需要的朋友可以参考一下
    2022-08-08

最新评论