一、问题概述:
今日在操作docker image的时候发生了一个错误,这里记录一下解决的方法。
System error: write /sys/fs/cgroup/docker/01f5670fbee1f6687f58f3a943b1e1bdaec2630197fa4da1b19cc3db7e3d3883/cgroup.procs: no space left on device"
在查询了docker的官方文档时得到了解决的方法,这里贴出官方文档的地址传送门
简书这里好像直接调转不过去,这里也贴一下链接:
https://success.docker.com/article/no-space-left-on-device-error
二、问题解释:
- 这里简单的翻译一下官方文档的介绍:
The Docker daemon requires adequate space to write to /var/lib/docker before it can start/restart successfully. If the daemon is unable to start due to a "No space left on device" error, the following process can be used to remove large container log files to free disk space.
在容器成功的启动或重启时docker的守护进程(daemon)需要充足的空间来写文件到/var/lib/docker中,如果守护进程因为没有剩余空间错误无法执行时,我们就需要移除大容器中的日志文件来释放硬盘空间。
- 解决方法:
step1:
首先需要对这个文件中的容器size进行排序,找出占比最大的容器;
du -d1 -h /var/lib/docker/containers | sort -h
step 2:
然后对文件进行写null处理,不需要删除日志文件;
cat /dev/null > /var/lib/docker/containers/container_id/container_log_name
截图如下
本机截图
三、总结
官方文档是学习一门新技术的灯塔,认真熟读官方文档很重要。
网友评论