我有一个在Docker容器中运行的Web应用程序。该应用程序需要访问我们公司文件服务器上的一些文件(带有Active Directory域控制器的Windows Server)。我要访问的文件是为我们的客户创建的图像文件,Web应用程序将其作为客户组合部分的一部分显示。
在我的开发计算机上,我通过/etc/fstab
中的条目挂载了适当的文件夹,并且使用--volume
参数在Docker容器中挂载主机挂载点。这完美地起作用。
现在我正在尝试组装一个生产容器,在不依赖于主机上挂载CIFS共享的情况下在不同服务器上运行。因此,我尝试将适当的条目添加到容器中的/etc/fstab
文件中,并使用mount -a
将它们挂载。我得到了mount error(13): Permission denied
。
在线上做了一些研究,我找到了有关Docker安全性的这篇文章。如果我理解正确,似乎Docker明确拒绝在容器内挂载文件系统的能力。我尝试以只读方式挂载共享,但这也(毫不奇怪地)失败了。
因此,我有两个问题:
我是否正确理解Docker阻止在容器内使用
mount
的任何用途?有人能想到另一种不需要在主机上挂载CIFS共享然后将主机文件夹挂载到Docker容器中来完成此操作的方法吗?