容器内安装驱动后,删除容器失败
问题描述
容器内使用--docker命令安装驱动,安装成功后退出容器,删除容器失败,出现如下报错信息。
[root@localhost new_version_package]# docker rm 38b6090e5803 Error response from daemon: container 38b6090e58034fa17ba925239a00014ea01ea4a173b8f7f255f6f1ba3fc18542: driver "overlay2" failed to remove root filesystem: unlinkat /var/lib/docker/overlay2/2b1575db553b0d6129ba47d3e661465056347e2b558ee08c9215dc7b2f4e0dc1/diff/usr/local/Ascend/driver/tools/ascend_upgrade_crl.sh: operation not permitted
可能原因
在容器内安装驱动后,驱动包会锁定安装目录,导致退出容器后删除容器失败。
解决方案
- 执行如下命令,查看使用的容器ID。
docker ps -a
回显信息如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38b6090e5803 84282c80cdda "/bin/bash" About a minute ago Exited (0) 5 seconds ago pensive_shannon
- 执行如下命令,查看容器路径。
命令:docker inspect CONTAINER ID | grep UpperDir
示例:docker inspect 38b6090e5803 | grep UpperDir
回显信息如下:"UpperDir": "/var/lib/docker/overlay2/2b1575db553b0d6129ba47d3e661465056347e2b558ee08c9215dc7b2f4e0dc1/diff",
- 执行如下命令,增加容器路径权限。
命令:chattr -iR UpperDir
示例:chattr -iR /var/lib/docker/overlay2/2b1575db553b0d6129ba47d3e661465056347e2b558ee08c9215dc7b2f4e0dc1/diff
- 执行如下命令,删除容器。
命令:docker rm CONTAINER ID
示例:docker rm 38b6090e5803
父主题: FAQ