有一个机器里面的docker 想改下参数,然后重启
结果问题来了,systemctl start docker之后等了10分钟一直卡住不动,顿时感觉不对劲了
一开始以为参数修改的有问题,修改好几版之后,发现,参数修改错误启动会直接报错,修改的对会卡住
后百度一番,以及经过查找之后得出答案
docker overlay2目录里的镜像目录太多导致,目测有几千个。。
好在找到了解决方法:
#先运行清理程序 systemctl start docker-cleanup.service #后启动服务 systemctl start docker
执行之后傻眼了
根本就没安装啊,几番查找之后也没找到本地安装的方法
于是我想,既然是overlay2文件过多,那总有加载完的时候,那我就板等就行
于是输入完systemctl start docker之后,我开始琢磨清理overlay2镜像的问题
我们部署会删除废弃的容器,但是不会处理镜像,那我只针对镜像清理就可以了
经过一番查找,找到了命令
docker image prune -a
这个命令是用来删除没有任何容器和他关联的镜像文件,我觉得是比较安全的
这里要说下思考逻辑:没有运行的容器有可能是意外挂掉的有用的,或者临时停掉的,但是没有和任何容器关联的镜像文件肯定是没用的!
时间也大概过了40分钟,再查看docker服务,成功启动了!
于是我赶紧清理起镜像文件来
后记:
所以,这件事上提醒我们,定期清理废弃的镜像文件和容器还是很有必要的,否则指不定哪天启动一下docker要等一个小时!
参考文档:
https://blog.csdn.net/achaodzyj/article/details/116074208
http://www.5ityx.com/cate100/270437.html
http://www.360doc.com/content/21/1122/13/77800916_1005383114.shtml