Fork me on GitHub

docker容器状态dead,无法rm问题

  1. 问题描述

    docker容器出现dead问题,无法rm掉,出现error

    [root@NLPS3 ~]# docker rm 6d038df8871d
    Error response from daemon: Driver overlay failed to remove root filesystem 6d038df8871d7070527cd4e20050b7712ded7c778107ce6f03bbf8975ef0a115: remove /home/docker/docker-root/overlay/c7af730ba5d3617452c4084107974cf64d030bc6da7cfff0566c35d956202b53/merged: device or resource busy
    #其中6d038df8871d7070527cd4e20050b7712ded7c778107ce6f03bbf8975ef0a115,可以辅助下面的检测
    
  2. 导致该问题出现的原因

    通过 device or resource busy可以看出该容器中的部分进程还在占用。

  3. 解决方法

    #1.首先可以尝试强制删除
    docker rm -f container_id
    #2.若是无法强制删除,则可以利用问题描述中的errorid,来查看一下跟报错有关的挂载信息
    grep docker /proc/*/mountinfo | grep c7af730ba5d3617452c4084107974cf64d030bc6da7cfff0566c35d956202b53
    #如果存在大量挂载信息,则获取相关挂载进程的pid并杀掉该进程
    grep docker /proc/*/mountinfo | grep c7af730ba5d3617452c4084107974cf64d030bc6da7cfff0566c35d956202b53 | awk -F':' '{print $1}' | awk -F '/' '{print $3}'
    
    grep docker /proc/*/mountinfo|grep c7af730ba5d3617452c4084107974cf64d030bc6da7cfff0566c35d956202b53 | awk -F ":" '{print $1}' | awk -F "/" '{print $3}'
    814
    
    
posted @ 2022-04-10 18:32  壶小旭  阅读(700)  评论(0编辑  收藏  举报