Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. Linux
  4. 正文

Docker overlay2 清理 & 数据转移

2021-04-06

今天项目的生产环境不稳定,登录到服务器上发现Docker的/var/lib/docker/overlay2目录将磁盘占用满了,导致程序分配不到内存。

要判断是否占用满了磁盘,可以使用

# 查看Docker系统位置
docker info | grep 'Dir'

# 查看文件占用信息
du -sh /var/lib/docker/*

# 查看Docker的磁盘使用情况
docker system df

从上面的信息发现docker并没有占满全部的磁盘,遂使用 du -sh 查看发现,overlay已经100%了。

清理文件

通过以上信息发现基本都是docker容器的占用。这时继续查看到底是什么占用如此巨大。经排查发现是容器内的应用生成了大量的日志。

# 找出目录下大于30M的文件
find * -type f -size +30M -print0 | xargs -0 du -sh

# 批量删除日志文件
find * -type f -size +30M -print0 | xargs -0 du -sh | grep '/diff/root/logs/csp/sentinel-record.log' | awk '{ print $2 }' | xargs rm -rf

数据转移

从目前的情况来看,docker默认将文件及其容器放置在了系统盘的挂载区内,这时我们需要将其挪至外挂磁盘上。

数据转移前需要将已有的容器备份,因为我的程序在之前就将重要的容器挂载到了外部磁盘,所以这里略过。

# 停止容器
systemctl stop docker

# 修改容器配置
cat /etc/docker/daemon.json
{
   "registry-mirrors": ["https://wkumpv63.mirror.aliyuncs.com"],
   "data-root": "/data/docker-data",
   "storage-driver": "overlay2"
}

# 启动容器
systemctl start docker
systemctl enable docker
标签: docker
最后更新:2021-04-07

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
文章目录
  • 清理文件
  • 数据转移
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 29篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号