问题描述
在执行 docker volume rm 时遇到如下错误:
$ docker volume rm 92ba8612_zxtest001_LOG
Error response from daemon: unable to remove volume: remove 92ba8612_zxtest001_LOG: VolumeDriver.Remove: exec fail:exit status 5;out: Logical volume data-2-2_HDD_VG/92ba8612_zxtest001_LOG contains a filesystem in use.
解决方法
1. 尝试删除挂载的本地目录
$ rm -rf 92ba8612_zxtest001_LOG/
$ docker volume rm 92ba8612_zxtest001_LOG
92ba8612_zxtest001_LOG
2. 如果仍无法删除,查找并结束占用进程
$ lsof | grep 92ba8612_zxtest001_LOG
$ for i in $(lsof | grep 92ba8612_zxtest001_LOG | awk '{print $2}'); do kill -9 $i; done
3. 处理逻辑卷占用问题
若报错提示 Logical volume contains a filesystem in use,可尝试以下步骤:
# 查看是否有用户正在打开
$ lvdisplay /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT | grep open
# 查看是否有进程号正在使用
$ fuser -kuc /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
# 如果有进程号(例如 1726),强制结束
$ kill -9 1726
# 删除逻辑卷
$ lvremove /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
4. 强制删除逻辑卷
如果上述方法无效,可使用 -f 参数强制删除:
$ lvchange -an /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
$ lvremove -f /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
5. 清理系统缓存
$ echo 1 > /proc/sys/vm/drop_caches
$ echo 2 > /proc/sys/vm/drop_caches
$ echo 3 > /proc/sys/vm/drop_caches
$ docker volume rm d728336a_wbLoCtovlFE001_DAT

