首页 > 其他分享 >docker运行 [4256] INTERNAL ERROR

docker运行 [4256] INTERNAL ERROR

时间:2022-11-08 10:57:44浏览次数:72  
标签:16G ERROR INTERNAL dev 0% docker tmpfs 日志

现象

突然有反馈说线上部分接口加载不出来

登上系统查看,确实有几个接口状态码是200,就是没数据,控制台异常的接口报错显示
net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

错误代码搜索之,说是编码模块不完整,返回浏览器的流不完整,有几个可能的原因

1、丢包
2、响应数据被限制
3、读取流异常终止

具体可以看下这里

但之前就没有报这个错,突然出现这种现象,没那么简单。

排查

系统是docker部署,想查看容器日志,docker-compose命令一执行,给我一个
[4256] INTERNAL ERROR: cannot create temporary directory!

看字面意思是无法创建临时目录,df -h赶紧看一下磁盘空间情况,/dev/vda1 已经占用满了,磁盘空间不够了。

看了看docker镜像,有一些空的镜像和低版本的系统镜像没有使用还占用着空间,删除之,磁盘占用来到了94%

[root@localhost bim-compose]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G     0   16G   0% /dev/shm
tmpfs            16G  1.6M   16G   1% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/vda1        40G   35G  2.6G  94% /
tmpfs           3.2G     0  3.2G   0% /run/user/0
...

此时已经反馈说异常接口已经恢复可用了,但是感觉还没完,

解决

du -h /var/lib/docker/overlay2 --max-depth=1

命令执行看下docker目录下这些镜像和容器产生的目录有没有异常大小的,发现存在两个相比其它的占用3G和41G的目录

[root@localhost bim-compose]# sudo du -h /var/lib/docker/overlay2 --max-depth=1 |grep G
2.7G	/var/lib/docker/overlay2/81c504033a82a6a5a59f7d0abcfaa51287daecc481e117c27bb8549329f78749
41G	/var/lib/docker/overlay2/6f3f315660418be9bb7c2dd9e3107efc04dc34d171c7246e983bcccf4d5dfe12
50G	/var/lib/docker/overlay2

再通过docker目录名查找对应容器名

 docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 目录名

输出依次为,进程pid、容器ID、容器名、存储work路径,即可确定是哪个容器。

[root@localhost bim-compose]# docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 6f3f315660418be9bb7c2dd9e3107efc04dc34d171c7246e983bcccf4d5dfe12
1887, bf4028f3e909203c956e88406ebd47b16f79e5a346c4e0f806b9943db29e5b85, /bim-gateway, /var/lib/docker/overlay2/6f3f315660418be9bb7c2dd9e3107efc04dc34d171c7246e983bcccf4d5dfe12/work
[root@localhost bim-compose]# docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 81c504033a82a6a5a59f7d0abcfaa51287daecc481e117c27bb8549329f78749
20217, 933d1c1ce6b2e62f0dbba259ede427d0e1a8d95b02c9e4c3dacd22c0502aee8e, /nacos-standalone, /var/lib/docker/overlay2/81c504033a82a6a5a59f7d0abcfaa51287daecc481e117c27bb8549329f78749/work

发现一个是网关服务,因为日志没处理好,产生了大量日志,导致容器占用空间特别大,删除后重启之,磁盘空间占用降低到39%。之后再修改下日志配置避免产生大量无效日志。

[root@localhost bim-compose]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G     0   16G   0% /dev/shm
tmpfs            16G  1.6M   16G   1% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/vda1        40G   15G   23G  39% /
tmpfs           3.2G     0  3.2G   0% /run/user/0

总结

  1. 日志要配置好,避免产生大量无效日志,特别是项目中存在定期请求的,比如大屏的实时数据定时刷新,日志不做好,日积月累就会产生大量垃圾日志,影响正常排查问题,还会造成空间占用过高,导致意料之外的问题发生。
  2. 排查问题多思考本质,精准用药,直达病灶,药到病除。

    标签:16G,ERROR,INTERNAL,dev,0%,docker,tmpfs,日志
    From: https://www.cnblogs.com/shih945/p/16868869.html

相关文章

  • Commands and Arguments in Docker
    如果你按照下面的方式运行了一个ubuntu容器,你将会发现一段时间后,容器退出了,为什么会发生这种情况?这是因为,不像virtualmachine,containers无意于托管osoperationsystem,c......
  • !MESSAGE Error occurred during status handling
    问题:eclipse未响应后强制关闭,之后打开eclipse一闪而过,查看.metadata中日志报错:!ENTRYorg.eclipse.ui402014-12-2212:21:33.259!MESSAGEErroroccurredduringstatu......
  • python 使用docker开发
    背景pycharm+win10环境开发很多时候需要编译一些c++拓展例如bcrypt==3.1.4win安装一堆的MicrosoftVisualC++14.0isrequired使用docker可以模拟linu......
  • docker 设置 容器自启动
    因为我们要ssh去连接虚拟机,并且在本地操作虚拟机,但是这些都得在虚拟机容器启动的情况下才能实现,所以说设置开机自启就能省去很多步骤。dockerps查看正在运行的容器。......
  • docker 安装 mysql
    1、下载镜像文件dockerpullmysql:5.72、创建实例并启动dockerrun-p3306:3306--namemysql\-v/mydata/mysql/log:/var/log/mysql\-v/mydata/mysql/data:/var......
  • Docker介绍和Docker安装配置
    Dockers:是一种虚拟化容器技术,解决了以前在Linux安装MySQL等软件的繁琐步骤,而且某个软件工作出问题可能导致其他服务不可用。docker为每一个软件提供了容器互不干扰(在run......
  • UE4源码编译,报错GenerateProjectFiles error的几个办法
    第一种  检查,红框内没勾的勾上第二种没勾的勾上其他的情况ue的AnswerHub有些别人提到的相关问题,连接如下https://answers.unrealengine.com/questions/724854/v......
  • 报错'pom.xml' has syntax errors和Unresolved dependency: 'org.mybatis:mybatis:jar
     错误:'pom.xml'hassyntaxerrors解决方法:构建SpringBoot项目时报错:'pom.xml'hassyntaxerrors大概率是pom.xml中出现了语法错误 <dependency>和</dependency>要......
  • docker
    使用yum卸载Docker库yumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine......
  • 基于docker和cri-dockerd部署kubernetes
    基于docker和cri-dockerd部署kubernetesv1.25.31、环境准备1-1、主机清单主机名IP地址系统版本k8s-master01k8s-master01.666.comkubeapi.666.comkubeap......