docker项目磁盘满问题解决

Posted gsls200808

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker项目磁盘满问题解决相关的知识,希望对你有一定的参考价值。

近期有个docker项目的虚拟机磁盘满,分享一下解决过程

1.查询大于800M的文件

find / -type f -size +800M

或者

find / -type f -size +800M -print0 |xargs -0 du -h

2.删除对应docker目录的大文件

但是总这样做治标不治本,通过观察大文件目录发现总是docker容器日志文件过大

目录为

/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log

3.解决方案

通过配置容器docker-compose.yml的max-size选项来实现日志大小限制:

nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: "json-file"
    options: 
      max-size: "10m"

max-size参数含义,限制json.log日志文件大小,这个限制不影响容器运行,也不影响probackend目录的日志。

另一方案:

全局配置docker 只对新容器有效

新建/etc/docker/daemon.json,若有就不用新建了

vi /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含义与上面的类似。

4.重启容器并加载yml配置

docker 重启特定容器并重载yml配置

docker-compose up --detach --build "service name"

docker-compose up --detach --build "basic"

docker 重启所有容器并重载yml配置

docker-compose up -d

以上是关于docker项目磁盘满问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Docker-日志以及磁盘占满解决

解决docker容器日志导致主机磁盘空间满了的情况

解决服务器系统磁盘满了的问题

docker “no space left on device”问题定位解决

docker磁盘空间不足之数据迁移解决方案

容器化开发_01_Docker镜像到哪里去下载?Docker镜像下载不下来四种原因?Docker镜像占满磁盘了?