故障发生原因
测试环境,之前用该机器做过docker-compose,后来有需要用到该机器上的docker环境,需要将旧的docker容器全部删除,由于之前启动是使用docker-compose启动的,正常手段也应该使用该工具关掉容器。但是我用的是docker rm --force 命令,可能不知道系统哪根筋不对了吧
下面是现象
[root@localhost ~]# ls -bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
tab补全功能不能使用,而且严重影响了系统运行,后台一直在吃资源
[root@localhost tmp]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 17G 20K 100% /
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2077 root 20 0 634100 12116 1848 S 0.7 1.2 10:36.46 containerd
就是该进程,我pkill干掉docker服务,该进程还在
最后解决办法:
[root@localhost tmp]# ps aux | grep containerd
root 2077 0.7 1.2 634100 12116 ? Ssl 6月24 10:37 /usr/bin/containerd
root 83649 0.0 5.2 536180 51924 ? Ssl 21:35 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 84095 0.0 0.0 112720 988 pts/1 S+ 21:56 0:00 grep --color=auto containerd
[root@localhost tmp]# pkill -9 containerd
[root@localhost tmp]# ps aux | grep containerd
root 84110 0.0 0.0 112720 988 pts/1 S+ 21:56 0:00 grep --color=auto containerd
[root@localhost tmp]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 17G 20K 100% /
top 命令已经看不到该进程的存在了,但是磁盘还是满的
#网上查了一下,意思就是生成了许多临时文件在/tmp目录下
#由于是测试环境,我直接将整个目录清空了
[root@localhost tmp]# rm -rf /tmp/*
[root@localhost tmp]# ls .
./ ../ .font-unix/ .ICE-unix/ .Test-unix/ .X11-unix/ .XIM-unix/
#补全功能也可以正常使用了
总结
- 基础知识相对不够牢固,比如对docker-compose工具的使用,以及系统和服务进行配合运行时