前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker启动出现"No space left on device" 或者 docker日志太多导致磁盘占满问题

Docker启动出现"No space left on device" 或者 docker日志太多导致磁盘占满问题

作者头像
洗尽了浮华
发布2019-05-25 16:55:33
8.4K0
发布2019-05-25 16:55:33
举报
文章被收录于专栏:散尽浮华

机房有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致磁盘被占满了。Docker容器在启动/重启的时候会往/var/lib/docker中写数据,如果你在启动docker容器遇到"No space left on device"的问题,可以按照下面的步骤进行清理相关的日志操作。

1)对/var/lib/docker/containers下的文件夹进行排序,看看哪个容器占用了太多的磁盘空间

代码语言:javascript
复制
下面命令会按照升序的方式对于容器文件夹进行排序,并列出容器文件夹的大小:
[root@docker ~]# du -d1 -h /var/lib/docker/containers | sort -h
36K  /var/lib/docker/containers/4d91f92dd7604216f2e9e123572e9a80d7bbee3d8c8ce7be2ed241c572816fb
640K /var/lib/docker/containers/374aa0ba92b37d829012282ff15c1bb838d95dedb54589874c4285991be2d4aa
40K  /var/lib/docker/containers/7cfdbc453b2f7109b52e974061754266e6cdc0ccaee62ab4a5887865113e1144
40K  /var/lib/docker/containers/84ee24989ad52383c6e99eaa4d236e600095aa7f855e81fbafe10416b75ceefb
40K  /var/lib/docker/containers/aeced3ef3e23df27e52f65743bb05448b46a2c660acc5b0aab12604e060779b4
40K  /var/lib/docker/containers/ebd1bd211a1b9d02bb39bfb80eec3d0960a5b25e18f54d7371781ec456e7a1e8
176K /var/lib/docker/containers/1fe0a241e5ce9726c547c68739793633f9dd906768a36fe80e8fb80373aa3bfb
17M  /var/lib/docker/containers/ac30e68d454b37d22b3964053a2b52ba043baa1add13556a09c0e3e05589104f
25M  /var/lib/docker/containers/872ca4e3d005594591ca2df0e832d36eef448981ab2820c69df4ff1399f8423e

2)选择你要清理的容器进行清理

代码语言:javascript
复制
cat /dev/null > /var/lib/docker/containers/container_id/container_log_name

如下命令会清空对应的日志,如:
[root@docker ~]# cat /dev/null > /var/lib/docker/containers/374aa0ba92b37d829012282ff15c1bb838d95dedb54589874c4285991be2d4aa/374aa0ba92b37d829012282ff15c1bb838d95dedb54589874c4285991be2d4aa-json.log

3)限制docker容器日志文件的大小

代码语言:javascript
复制
启动容器时,可以通过参数设置日志文件的大小、日志文件的格式。
[root@docker ~]# docker run -it --log-opt max-size=10m --log-opt max-file=3 centos

==============docker日常运维中几个常用小命令============== 列出所有的容器 ID #docker ps -aq

停止所有的容器 # docker stop $(docker ps -aq)

删除所有的容器 # docker rm $(docker ps -aq)

删除所有的镜像 # docker rmi $(docker images -q)

复制文件 # docker cp mycontainer:/opt/file.txt /data/html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档