【发布时间】:2019-12-23 13:34:59
【问题描述】:
我正在尝试关注Mount Azure File storage on Linux VMs using SMB,它展示了如何在 Linux VM 中的文件夹上挂载 azure 文件。唯一的区别是,我正在尝试将共享挂载到使用 Dockerfile 创建的 Linux 容器上。
虽然面临几个问题,但我理解需要以“特权”模式运行容器以允许我运行挂载命令。但是到目前为止我一直没有成功,并且我找不到 docker 文件的引用做这样的事情。
我正在尝试在 Docker 文件中运行此命令。
RUN -it --privileged mount -t cifs filesharepath mountpath -o vers=3.0,username=username,password=password,dir_mode=0777,file_mode=0777,serverino
但是,我不断收到诸如非法字符-t 之类的错误,它不会导致任何地方。
所以第一个问题是,是否有可能从 Docker File 实现这样的目标?如果有,有哪些可能性?
更新:
挂载的目的特别是将drupa文件存储目录挂载到天蓝色文件共享。例如: var/sites/default/files 到 azure 文件存储。这可能需要已针对特定于 drupal 的实现完成的解决方案。如果有人有想法,那将有所帮助!
【问题讨论】:
-
你为什么不简单地使用一个卷? docs.microsoft.com/en-us/azure/container-instances/…
-
这个命令在 dockerfile 中没有任何意义,这个命令作为
docker run的一部分可能有意义吗? -
@CSharpRocks 因为我想将文件共享用作 drupal 网站的网络文件共享,并且从网站上传的文件需要进入文件共享(挂载在 drupal 文件目录中)。我也不确定这在页面上意味着什么。 “请注意,如果您将共享挂载到存在文件或目录的容器目录中,这些文件或目录会被挂载遮盖,并且在容器运行时无法访问。”我想在容器内的文件夹上挂载一个卷。