2017-04-01 85 views
0

我在我的Ubuntu机器上使用docker(1.12.3)。我正在运行一个python脚本,将其输出发送到Windows网络路径(\\ my_win_path \ c)。我能够执行python脚本。有人可以帮助我完成第二部分(即将输出(其文本文件)发送到网络位置)。如何在docker中安装网络位置

这个网络位置受到访问限制(只有很少的ID /人有访问权限),并且无论如何我不会在主机上创建任何依赖关系,因为我将创建的映像将被很多其他人使用他们将使用不同的机器来运行图像?

回答

0

首先将网络路径安装到您的Ubuntu机器上。

再次装入(安装的网络路径目录)到多克尔容器,其可以通过添加-v参数与docker run命令来完成。例如,如果您已将网络驱动器挂载到您的Ubuntu机器的/mnt

docker run --privileged -v /mnt:/opt <rest/of/the/parameters> 

现在将输出文件重定向到容器中的/ opt。

+0

请参阅此链接以了解有关安装Windows网络驱动器的信息:[安装-windows-network-shares-in-linux](https://martin.hoppenheit.info/blog/2014/mounting-windows-network-shares -in-linux /) – shahin

+0

如果不需要,请不要使用'--privileged';使用该选项运行会禁用容器提供的所有安全性,并允许容器内的进程爆发,并控制主机 – thaJeztah

+0

非常感谢Shahin和Jeztah。通过执行你所建议的那个,我可以在容器中获取安装的位置,但它正在创建对主机的依赖关系。如果我创建这个图像并推动,如果其他人拉动图像并运行它,那么它将不会在他/她的机器上运行,因为它们可能没有安装在他们的机器中。我想知道这种依赖性是否会消失。 – Raji