Solved: cannot kill Docker container - permission denied

Just recently I had the following issue while trying to stop my containers:

Error response from daemon: Cannot kill container: 9e81a44d4c79: Cannot kill container xxxx: unknown error after kill: runc did not terminate sucessfully: container_linux.go:392: signaling init process caused "permission denied"

The container was started regularly with docker-compose up, and after that, it wasn't reacting to:

docker-compose down

docker-compose stop xxx or docker container stop xxx

It turned out that AppArmor service was messing up with Docker. AppArmor (or "Application Armor") is a Linux kernel security module that allows the system administrator to restrict programs' capabilities with per-program profiles. For this problem with containers, it helped me to remove the unknown from AppArmor using the following command:

sudo aa-remove-unknown

After that, I was able to stop and kill my containers. To kill all running Docker containers, you can use the following command:

docker container kill $(docker ps -q)

If this didn't work for you, you can remove AppArmor, and then install it afterward if it's needed:

sudo apt-get purge --auto-remove apparmor`
`sudo service docker restart`
`docker system prune --all --volumes
posted @ 2021-12-15 20:29  临冬城城主  阅读(928)  评论(0编辑  收藏  举报