K8S学习之前站五:清理docker的overlay2 目录

server/2025/3/22 0:41:56/

overlay2 是 Docker 默认使用的存储驱动,用于管理容器和镜像的存储。随着容器和镜像的增多,overlay2 目录可能会占用大量磁盘空间。清理 overlay2 目录需要谨慎操作,以避免误删正在使用的容器或镜像。

以下是清理 overlay2 目录的步骤和方法:


1. 确认 overlay2 目录的位置

overlay2 目录通常位于 Docker 的数据根目录下,默认路径为 /var/lib/docker/overlay2

sudo du -sh /var/lib/docker/overlay2
  • 该命令会显示 overlay2 目录的磁盘使用情况。

2. 清理未使用的容器和镜像

Docker 提供了命令来清理未使用的资源,包括停止的容器、未使用的镜像、悬空的卷和网络。

清理未使用的容器、镜像、卷和网络:
sudo docker system prune -a
  • -a:删除所有未使用的镜像(不仅仅是悬空镜像)。
  • 该命令会提示确认,输入 y 继续。
仅清理悬空镜像:
sudo docker image prune
仅清理停止的容器:
sudo docker container prune
仅清理未使用的卷:
sudo docker volume prune
仅清理未使用的网络:
sudo docker network prune

3. 手动清理 overlay2 目录

如果 docker system prune 无法完全释放空间,可以手动清理 overlay2 目录。但需要确保清理的文件没有被正在运行的容器或镜像使用。

步骤:
  1. 停止 Docker 服务:

    sudo systemctl stop docker
    
  2. 删除 overlay2 目录中的未使用文件:

    • 进入 overlay2 目录:

      cd /var/lib/docker/overlay2
      
    • 查找并删除未使用的目录:

      sudo find . -type d -empty -delete
      
  3. 启动 Docker 服务:

    sudo systemctl start docker
    

4. 清理日志文件

Docker 的日志文件也可能占用大量磁盘空间。可以清理日志文件以释放空间。

清理容器日志:
  1. 查看容器日志大小:

    sudo du -sh /var/lib/docker/containers/*/*-json.log
    
  2. 清理日志文件:

    • 清理单个容器的日志:

      sudo truncate -s 0 /var/lib/docker/containers/<container_id>/<container_id>-json.log
      
    • 清理所有容器的日志:

      sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
      

5. 限制日志大小

为了避免日志文件占用过多空间,可以在启动容器时限制日志大小。

示例:
sudo docker run -d --log-opt max-size=10m --log-opt max-file=3 <image_name>
  • max-size=10m:每个日志文件最大为 10MB。
  • max-file=3:最多保留 3 个日志文件。

6. 检查磁盘空间

清理完成后,检查磁盘空间是否释放:

df -h

注意事项:

  • 谨慎操作:手动删除 overlay2 目录中的文件可能会导致数据丢失或容器无法启动。
  • 备份数据:在清理之前,建议备份重要数据。
  • 避免直接删除:不要直接删除整个 overlay2 目录,否则会导致 Docker 无法正常工作。

http://www.ppmy.cn/server/176915.html

相关文章

RWKV-7:超越Transformer的新一代RNN架构解析

引言&#xff1a;RNN的复兴与RWKV的突破 在Transformer主导的AI时代&#xff0c;循环神经网络&#xff08;RNN&#xff09;似乎逐渐淡出主流视野。然而&#xff0c;RWKV-7的发布&#xff0c;重新定义了RNN的可能性。这篇由RWKV团队于2025年3月18日发布的论文《RWKV-7 “Goose”…

Elasticsearch 中的数据分片问题

Elasticsearch 在存储数据时采用 分片&#xff08;Shard&#xff09;机制&#xff0c;以提高性能和可扩展性。 Elasticsearch 分片机制 Elasticsearch 索引中的数据被划分成多个 主分片&#xff08;Primary Shard&#xff09; 和 副本分片&#xff08;Replica Shard&#xff…

如何查看安卓版本号的方法(例如查看是13、12、11、10...)

开发过程中需要了解到安卓版本号是多少&#xff0c;那么以下有三种方法可以知晓安卓手机的Android版本号。 方法1&#xff1a;手机设置直接查看 1.打开【设置】 --> 滑动到手机最底部 --> 点击【关于手机】或 【系统】--> 选择【Android版本】 2.直接查看版本号&am…

防逆流检测仪表在分布式光伏发电系统中的应用

销售工程师 王孟春 13524471462 引言 目前&#xff0c;电网公司通常要求光伏并网系统为不可逆流发电系统&#xff0c;即光伏并网系统所发的电由本地负荷消耗&#xff0c;多余的电不允许通过低压配电变压器向上级电网逆向送电。在并网发电系统中&#xff0c;由于外部环境是不断…

游戏引擎学习第169天

回顾和今天的计划 接下来进行编译&#xff0c;并设置编译目录&#xff0c;以便查看昨天的工作成果。可以看到&#xff0c;我们的界面上已经有了一些字体显示的内容。现在&#xff0c;可能是一个合适的时机关闭背景音乐&#xff0c;目前不需要音乐&#xff0c;相信大多数人也不…

LeetCode 326 3的幂

判断一个数是否是 3 的幂次方&#xff1a;Java 实现与算法分析 一、问题描述 给定一个整数 n&#xff0c;编写一个函数判断它是否是 3 的幂次方。 满足条件&#xff1a;存在整数 x 使得 n 3^x。 示例&#xff1a; 输入&#xff1a;27 → 输出&#xff1a;true&#xff08;3…

Leetcode 160 Intersection of Two Linked Lists

题意 给定两个链表&#xff0c;找这两个链表第一个公共节点&#xff0c;如果没有返回nullptr 题目链接 https://leetcode.com/problems/intersection-of-two-linked-lists/description/ 题解 两个指针分别从两个链表&#xff08;记录为表A&#xff0c;表B&#xff09;的表…

嵌入式硬件篇---龙芯PWM生成

文章目录 前言1. 头文件引入作用 2. 导出PWM通道 pwm_export功能关键点问题 3. 取消导出PWM通道 pwm_unexport作用注意 4. 启用/禁用PWM pwm_enable/pwm_disable功能改进建议 5. 配置周期和占空比 pwm_config作用关键点示例 6. 设置极性 pwm_polarity功能潜在问题 7.龙芯2K1000…