我有一个在 Docker 容器中运行的 Web 应用程序。此应用程序需要访问我们公司文件服务器(具有 Active Directory 域控制器的 Windows Server)上的一些文件。我尝试访问的文件是为我们的客户创建的图像文件,网络应用程序将它们显示为客户投资组合的一部分。
在我的开发机器上,我通过以下条目安装了适当的文件夹/etc/fstab
主机挂载点通过以下方式挂载到 Docker 容器中--volume
争论。这非常有效。
现在,我正在尝试组装一个生产容器,该容器将在不同的服务器上运行,并且不依赖于主机上安装的 CIFS 共享。所以我尝试将适当的条目添加到/etc/fstab
文件在容器中并安装它们mount -a
. I get mount error(13): Permission denied
.
网上的一些研究让我发现这篇关于 Docker 安全性的文章。如果我没看错的话,Docker 似乎明确拒绝在容器内挂载文件系统的能力。我尝试以只读方式安装共享,但这(毫不奇怪)也失败了。
所以,我有两个问题:
我对 Docker 阻止任何使用的理解是否正确mount
容器内?
任何人都可以想出另一种方法来完成这个任务without在主机上挂载 CIFS 共享,然后在 Docker 容器中挂载主机文件夹?
是的,作为一项安全措施,Docker 正在阻止您在容器内安装远程卷。如果您信任您的镜像以及运行它们的人,那么您可以使用--privileged
标志与docker run
禁用这些安全措施。
此外,您可以结合--cap-add
and --cap-drop
仅向容器提供其实际需要的功能。(参见文档) The SYS_ADMIN
Capability 是授予挂载权限的能力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)