美文网首页
docker占用磁盘问题

docker占用磁盘问题

作者: 卫泽洪_70a7 | 来源:发表于2021-07-12 10:15 被阅读0次

1、容器在运行一段时间的时候会突然无法写入数据,报错

docker no space left on device

2、查看docker 容器日志占用空间

docker logs -f container_name

出现了噼里啪啦一大堆

3、解决方法

3.1、找出Docker容器日志,编写脚本docker_log_size.sh

#!/bin/sh 
echo "======== docker containers logs file size ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
             ls -lh $log   
        done
# chmod +x docker_log_size.sh

# ./docker_log_size.sh

3.2、清理Docker容器日志(治标),脚本:clean_docker_log.sh

#!/bin/sh 
echo "======== start clean docker containers logs ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

echo "======== end clean docker containers logs ========"
# chmod +x clean_docker_log.sh

# ./clean_docker_log.sh

但是,这样清理之后,随着时间的推移,容器日志会像杂草一样,卷土重来。
3.2、设置Docker容器日志大小(治本)
需要限制容器服务的日志大小上限,通过配置容器docker-compose的max-size选项来实现、

nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: "json-file"
    options: 
      max-size: "5g"

说明:这是我从网上抄的解决方案,这个文件在哪里我还没不知道,等有空了系统学习一下docker
3.3 全局设置
新建/etc/docker/daemon.json,若有就不用新建了

# vim /etc/docker/daemon.json

{
  "registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

max-size=500m,意味着一个容器日志大小上限是500M,

max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json

注:设置后只对新添加的容器有效。

重启docker守护进程

systemctl daemon-reload

systemctl restart docker

相关文章

  • 常用shell

    链接 查看文件磁盘占用 docker

  • docker占用磁盘问题

    1、容器在运行一段时间的时候会突然无法写入数据,报错 2、查看docker 容器日志占用空间 出现了噼里啪啦一大堆...

  • Docker磁盘占用与清理问题

    序 Docker用户会在使用docker一段时间后发现宿主机的磁盘很容易就快被占满,并且手动docker rmi ...

  • docker占用空间清理

    首先使用 docker system df 命令查看一下磁盘占用情况然后使用docker system prune...

  • Docker 容器磁盘占用100%

    目前生产环境使用的docker+微服务的环境,配合自动化编译部署环境,大大减少了,项目测试或上线的复杂度,让运维变...

  • docker占用磁盘空间清理

    参考于: docker占用磁盘空间清理[https://www.xiang007.com/2020/03/10/d...

  • docker mysql 占内存过多

    解决docker部署mysql后,mysql占用内存过多的问题 查看内存占用 docker stats 更改配置 ...

  • df -i和df -h

    df -h显示磁盘占用是没有问题;但是df -i显示磁盘inode资源占用完。 inode译成中文就是索引节点,每...

  • Docker-Slim给Images一个苗条身姿

    引言我们通过Dockerfile或者docker build生成的Images往往都很大,对于磁盘空间的占用消耗什...

  • docker容器占用磁盘内存过大的问题排查

    笔者所有文章第一时间发布于:hhbbz的个人博客 问题描述 同事在生产环境中使用Docker去部署ELK日志搜集系...

网友评论

      本文标题:docker占用磁盘问题

      本文链接:https://www.haomeiwen.com/subject/prlsdltx.html