我有一个运行在Docker容器中的Web应用程序。此应用程序需要访问公司文件服务器上的某些文件(带有Active Directory域控制器的Windows Server)。我尝试访问的文件是为我们的客户创建的图像文件,Web应用程序将它们显示为客户组合的一部分。在Docker容器中安装SMB/CIFS共享
在我的开发机器上,我通过/etc/fstab
中的条目安装了相应的文件夹,并且通过--volume
参数将主机挂载点安装在Docker容器中。这工作完美。
现在我试图把一个生产容器放在一起,它将运行在不同的服务器上,并且不依赖主机上挂载的CIFS共享。所以我试图将相应的条目添加到容器&中的/etc/fstab
文件中,并使用mount -a
进行装载。我得到mount error(13): Permission denied
。
一个小小的研究网络导致我this article about Docker security。如果我正确地阅读它,看起来Docker显式拒绝在容器中装载文件系统的能力。我试图以只读方式挂载股票,但这(意外)也失败了。
所以,我有两个问题:
难道我的理解是,码头工人防止任何使用
mount
内部容器是否正确?任何人都可以想出另一种方法来完成这个没有在主机上安装CIFS共享,然后将主机文件夹挂载到Docker容器中?
感谢您的帮助! – Kryten
我已经将--privileged标志添加到docker运行命令中......但我的CIFS共享不会在容器启动时自动加载。从容器里面,如果我把mount -a全部正常工作。 有什么建议吗?谢谢。 –
@FabrizioA安装卷是客人的责任。允许(或不允许)安装卷是Docker的责任。如果您需要更多帮助,您应该提出一个新问题,因为这与Kryten的问题不一样。 –