如何在Docker for Windows中安装网络卷(Windows 10)

问题描述 投票:9回答:1

我们正在努力在Docker中创建标准的“数据科学”图像,以帮助我们的团队保持一致的环境。为了使这对我们有用,我们需要容器对我们公司的网络具有读/写访问权限。如何将网络驱动器安装到docker容器?

这是我尝试使用Docker Hub的摇杆/ rstudio图像:

这有效:

docker run -d -p 8787:8787 -v //c/users/{insert user}:/home/rstudio/foobar rocker/rstudio

这不起作用(其中P是网络驱动器的映射位置):docker run -d -p 8787:8787 -v //p:/home/rstudio/foobar rocker/rstudio

这也行不通:docker run -d -p 8787:8787 -v //10.1.11.###/projects:/home/rstudio/foobar rocker/rstudio

有什么建议?

我对Docker比较新,所以如果我不是很清楚,请告诉我。

windows docker
1个回答
2
投票

我知道这是相对陈旧的 - 但为了别人的缘故 - 这里通常对我有用。使用 - 我们使用Windows文件服务器,所以我们使用cifs-utils来映射驱动器。我假设以下说明也可以应用于nfs或其他任何内容。

首先 - 需要以特权模式运行容器,以便您可以在容器内安装远程文件夹(可能不需要--dns标志) docker run --dns <company dns ip> -p 8000:80 --privileged -it <container name and tag>

现在,(假设带有CIF的centos并在容器中成为root) - 跳入容器并运行:

如果尚未安装,请安装cifs-utils yum -y install cifs-utils

创建要映射的本地目录 mkdir /mnt/my-mounted-folder

准备一个包含用户名和凭据的文件 echo "username=<username-with-access-to-shared-drive>" > ~/.smbcredentials echo "password=<password>" > ~/.smbcredentials

映射远程文件夹 mount <remote-shared-folder> <my-local-mounted-folder> -t cifs -o iocharset=utf8,credentials=/root/.smbcredentials,file_mode=0777,dir_mode=0777,uid=1000,gid=1000,cache=strict

现在你应该有权访问

希望这可以帮助..

© www.soinside.com 2019 - 2024. All rights reserved.