docker - 如何使用 apparmor 在 docker 容器中启用挂载文件系统

标签 docker ubuntu mount apparmor

我有一个运行 docker 的 ubuntu 20.04 服务器。最近,默认 apparmor 配置文件似乎已经开始对 docker 容器中的挂载点实现限制。所以容器直接写入根文件系统而不是挂载。
在 docker 之外,我可以毫无问题地导航挂载,但是在容器中执行 shell 时,就好像挂载点没有挂载一样。
我已将其缩小为由 apparmor 引起的,禁用 apparmor 允许安装,并且一切正常。容器似乎正在使用 docker-default 配置文件。
我的问题是:如何在全局或单个容器上启用在 docker 容器中的挂载。我宁愿不必为此问题完全禁用 apparmor?

最佳答案

0
所以事实证明我的问题实际上是在安装文件系统之前启动 Docker。我相信我可以更改 docker 的 systemd 文件以延迟启动,直到我的安装到位。容器作为目录绑定(bind)到挂载点并直接写入根文件系统。
顺便说一句,您可以使用 security_opt 选项更改用于容器的 apparmor 配置文件,并使用 apparmor-parser 加载新的配置文件。我的容器没有安装,但如果安装已经到位,它们也不应该需要它。

关于docker - 如何使用 apparmor 在 docker 容器中启用挂载文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67959387/

相关文章:

docker-compose 名为 : "prefix_%s_1" instead of "%s" 的图像

python - ImportError:适用于 osx,不适用于 ubuntu

bash - bash中整数数组的两个元素的访问和加法

ubuntu - 在 Ubuntu 上运行的 Suave Web 应用程序

ubuntu - 挂载 HDFS 目录

cocoa - 如何使用 cocoa/obj-c 从挂载目录获取服务器主机名?

macos - OS X 上的 Docker 和文件共享

scala - Play Framework 中指定的基础 docker 镜像在哪里?

linux - 访问Google Compute Engine VM实例中的整个磁盘

docker - 无法在Hyperledger Fabric网络V 0.19上启动网络。错误:REQUEST_TIMEOUT命令失败