问题

今天在测试docker的时候,发现有容器无法关闭,报错如下:

root@home:/usr/local/vscode# docker stop eb39af7f8acb
Error response from daemon: cannot stop container: eb39af7f8acb: Cannot kill container eb39af7f8acb1b37d3cf30dd3a037c148c1859074993520396bd60f3b5778b1f: unknown error after kill: runc did not terminate sucessfully: container_linux.go:392: signaling init process caused "permission denied"

WTF???

 

原因

这个提示说我权限不够,虽然我用的是root。我也没办法停止,也没办法删除,之前也遇到类似问题,是跟docker-compose有关的。于是我就去查询了一下类似问题,发现使用docker-compose也没办法停止。

后来继续查询,发现linux中有一个安全模块叫做AppArmor的,会对docker的权限产生影响,所以我们简单地把AppArmor模块停掉或删掉,就可以删除docker container了。

sudo aa-remove-unknown

如果还没有效果,就把AppArmor连服务带配置一起删掉,使用apt purge可以完成此功能。

sudo apt-get purge --auto-remove apparmor
sudo service docker restart
docker system prune --all --volumes

 

鸣谢

由于权限问题无法删除docker容器

posted on 2021-07-26 11:46  eryoung2  阅读(714)  评论(0编辑  收藏  举报