【发布时间】:2015-08-10 04:17:18
【问题描述】:
我有一个小型 Python 应用程序,我想在 Docker 中的 Linux 上运行(目前使用 boot2docker)。此应用程序从我的 Windows 网络共享中读取一些数据,这在使用网络路径的 Windows 上运行良好,但在 Linux 上失败。在做了一些研究之后,我想出了如何在 Ubuntu 上挂载 Windows 共享。我正在尝试实现 dockerfile 以便它为我设置共享,但到目前为止还没有成功。以下是我目前的方法,在构建过程中遇到 mount 命令不允许的操作。
#Sample Python functionality
import os
folders = os.listdir(r"\\myshare\folder name")
#Dockerfile
RUN apt-get install cifs-utils -y
RUN mkdir -p "//myshare/folder name"
RUN mount -t cifs "//myshare/folder name" "//myshare/folder name" -o username=MyUserName,password=MyPassword
#Error at mount during docker build
#"mount: error(1): Operation not permitted"
#Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
编辑
不是Mount SMB/CIFS share within a Docker container 的重复项。该问题的解决方案引用了docker run 期间的修复。如果 docker 构建过程失败,我将无法运行 --privileged。
问:在 Docker 容器内挂载 Windows 网络共享的正确方法是什么?
【问题讨论】:
标签: python linux windows docker boot2docker