由于 AppArmor,Docker 正在终止容器 "permission denied"。只是为什么?

Docker killing container "permission denied" due to AppArmor. Just why?

我正在尝试终止通过 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 但理解 WHY 我无法在一切都有助于理解发生了什么之前停止容器。

我看到这是很多人遇到的错误。 2 3 但是,大多数答案都提出了解决方法,但没有 解决方案 。甚至像 这样的解释性答案也直接深入到 AppArmor 和配置文件中。从 docker 文档中我看到 docker 有一个默认的 AppArmor 策略 docker-default。我部分理解了这个概念,但仍然不明白 为什么 我无法通过用户和启动它们的环境停止容器。

如果我尝试结束我的问题:

欢迎任何反馈或解释。谢谢。

我找不到确切的原因,但接近了。在我的 Ubuntu 19.10 上似乎存在冲突的 docker 安装,这导致了这个访问控制问题。

here 所述,我已经删除了 snap 安装。因为我已经有另一个安装,所以我不必通过其他方式安装它。

sudo snap remove docker