首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决卷问题(引擎) | Troubleshoot volume problems (Engine)

卷错误的排除

本主题讨论使用Docker卷或绑定挂载时可能发生的错误。

Error: Unable to remove filesystem

一些基于容器的实用程序,如Google cAdvisor,挂载Docker系统目录,如/var/lib/docker/,装进一个容器里。例如,cadvisor命令您运行cadvisor集装箱如下:

代码语言:javascript
复制
$ sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest

当你绑定-安装/var/lib/docker/,这有效地将所有其他正在运行的容器的所有资源挂载为装入的容器中的文件系统。/var/lib/docker/当试图移除任何这些容器时,移除尝试可能会失败,错误如下:

代码语言:javascript
复制
Error: Unable to remove filesystem for
74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515:
remove /var/lib/docker/containers/74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515/shm:
Device or resource busy

如果绑定的容器挂载,则会出现问题。/var/lib/docker/使用statfsfstatfs中的文件系统句柄/var/lib/docker/也不会关闭它们。

通常,我们建议不要装订。/var/lib/docker用这种方式。然而,cAdvisor需要这个绑定挂载来获取核心功能。

如果您不确定是哪个进程导致错误中提到的路径繁忙并阻止其被删除,则可以使用lsof命令查找它的过程。例如,对于上面的错误:

代码语言:javascript
复制
$ sudo lsof /var/lib/docker/containers/74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515/shm

若要解决此问题,请停止绑定安装的容器。/var/lib/docker并再次尝试移除另一个容器。

扫码关注腾讯云开发者

领取腾讯云代金券