首页 > 其他 > 详细

(原)docker的一个“Driver aufs failed to remove...”问题的解决和分析

时间:2015-11-16 12:26:49      阅读:1742      评论:0      收藏:0      [点我收藏+]


## docker的一个“Driver aufs failed to remove...”问题的解决和分析

### 问题描述:

~~~
$ docker ps -a
CONTAINER ID ... STATUS
93feb54dcbb1 ... Dead
$ docker rm -f 93feb54dcbb1
Error response from daemon: Driver aufs failed to remove root filesystem 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347: rename /var/lib/docker/aufs/mnt/93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347 /var/lib/docker/aufs/mnt/93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347-removing: device or resource busy
Error: failed to remove containers: [93feb54dcbb1]
$ docker ps -a
发现已删除,但是:
$ cd /var/lib/docker/aufs/mnt
$ find . -name "93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347*"
$ ll -h 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
文件还在且删不掉:
$ sudo service docker stop
$ sudo service docker stop
$ sudo rm -rf 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
rm: cannot remove ‘93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347’: Device or resource busy
~~~

### 解决方法:

$ sudo umount 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
$ ll -h 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
$ sudo rm -rf 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
$ sudo ls -a 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347
$ ls: cannot access 93feb54dcbb19d31cec38fbb43efeb14318a528a84f98e1f69c91e311dcc9347: No such file or directory
$ sudo service docker start

### 原因分析:

/var/lib/docker/aufs/mnt下的应该是container启动时跟-v参数mount的文件夹相关,也可能跟一个启动了的container所创建的文件系统有关。但是container被rm后理应被删除,删不掉就是出问题了,原因可能是mount的文件被其他container-B或XX-B链接或挂载,...-B非正常退出(或某行为)导致docker以为这个文件还被引用着,所以这文件..估计是没人管了(野指针?)。因此需要手动解决:stop docker后手动删除即可,删除的方法只能是umount再rm。如上。

### 遗留疑问:

1. /var/lib/docker/aufs/mnt下的目录在docker的container全rm后,应该一个文件夹都没有吧。这么多文件夹(居然)全是docker“屡次遗留”的?全删么?(已全删...)

~~~
$ cd /var/lib/docker/aufs/
$ sudo cp -r -p mnt/ mnt_bak
$ sudo rm -r mnt/*
~~~

(原)docker的一个“Driver aufs failed to remove...”问题的解决和分析

原文:http://www.cnblogs.com/xiaouisme/p/4968419.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!