Docker 故障device or resource busy
概述:最近遇到几次出现device or resource busy的报错,当时以为是devicemapper系统的问题但是经过查资料发现这是docker的一个bug,所以就总结了下面这个写内容,希望跟大家多多交流。
出现故障原因
- .CentOS/RedHat 3.10.0内核NameSpace bug,由于Systemd PrivateTmp设置导致私有名字空间维护挂接磁盘状态影响全局空间卸载磁盘。
- Docker在创建,运行,和新增container和image的时候不会出现这个bug,仅仅是在销毁container的时候由于无法卸载挂接镜像的磁盘导致出错。
- Docker 无论使用哪种storage-driver均有此问题,问题并不仅仅出现在使用devicemapper storage-driver时。
- 任何使用unshare方式运行的进程均会激活此Bug。
- Centos7中默认会激活此类Bug的除了ntp服务外还有好多包括:brandbot.service,dbus-org.freedesktop.hostname1.service,dbus-org.freedesktop.import1.service,dbus-org.freedesktop.locale1.service,dbus-org.freedesktop.machine1.service,dbus-org.freedesktop.timedate1.service,httpd.service,systemd-hostnamed.service,systemd-importd.service,systemd-localed.service,systemd-machined.service,s