Я пытаюсь уничтожить контейнеры, запущенные через docker-compose
. При изящной остановке (Ctrl + C) или docker-compose down
я сталкиваюсь со следующей ошибкой:
ERROR: for <container-name> cannot stop container: b60c1c4d886899504b...2a022e4d39429dc6ca6e4784afdd: Cannot kill container b60c1c4d886899504b...2a022e4d39429dc6ca6e4784afdd: unknown error after kill: runc did not terminate sucessfully: container_linux.go:388: signaling init process caused "permission denied"
: unknown
Я просто ищу ответ ПОЧЕМУ . Я пытаюсь понять AppArmor лучше, но понимаю ПОЧЕМУ Я не могу остановить контейнеры, пока все не поможет понять, что происходит.
Я вижу, что это ошибка, с которой сталкиваются многие люди , 1 2 3 4 Однако большинство ответов предлагают обходные пути, а не решения . Даже пояснительные ответы типа 1 погружаются прямо в AppArmor и профили. Из документации docker я вижу, что docker имеет политику AppArmor по умолчанию docker-default
. Я частично понимаю концепцию, но все равно не понимаю ПОЧЕМУ Я не могу остановить контейнеры через пользователя и среду, в которой я их запустил.
Если я попытаюсь обернуть свои вопросы:
- Я запустил несколько контейнеров как пользователь, ПОЧЕМУ я не могу их остановить.
sudo
тоже не работает. Кто может их остановить? - Нужен ли мне профиль AppArmor для каждого контейнера?
- Не думаю, что было бы хорошей идеей перезапустить AppArmor или отключить его. Должен ли я сделать это? Какое идеальное решение?
Любые отзывы или объяснения приветствуются. Спасибо.