我正在尝试遵循Mount Azure File storage on Linux VMs using SMB,它显示了如何在Linux VM中的文件夹上安装Azure文件。唯一的区别是,我试图将共享装载到使用Dockerfile创建的Linux容器上。
尽管遇到几个问题,但我了解需要以“特权”模式运行容器以允许我运行mount命令。但是到目前为止,我一直没有成功,而且找不到执行此类操作的docker文件引用。
我正在尝试在Docker File中运行此命令。
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实现类似的目标?如果是这样,有什么可能?
答案 0 :(得分:0)
感觉像我们需要在此处进行澄清:
Dockerfile是放置所有设置说明的地方。就像您想要基于ubuntu的linux机器一样,还要安装几个软件包。然后Dockerfile是配置它的地方。它还允许配置暴露端口和默认启动项。期。将外部卷挂载到容器内部的某物上-在Dockerfile中没有任何意义,因为它不了解主机系统,也不应该。
拥有Dockerfile之后,您可以执行docker build ....
来构建本地Docker映像。因此,只有在找不到需要运行的公共映像时,才需要Dockerfile。
一旦您有要运行的映像,就可以使用docker run
选项在主机操作系统上执行--mount source=myvol2,target=/app
,以将主机文件夹映射到容器内部文件夹。
总结:
--mount
命令,