我们正在努力在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比较新,所以如果我不完全清楚,请告诉我.
首先 – 需要以特权模式运行容器,以便您可以在容器内安装远程文件夹(可能不需要–dns标志)
docker run –dns< company dns ip> -p 8000:80 –privileged -it<容器名称和标签>
现在,(假设带有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> <我的本地安装的文件夹> -t cifs -o iocharset = utf8,credentials = / root / .smbcredentials,file_mode = 0777,dir_mode = 0777,uid = 1000,gid = 1000,cache = strict
现在你应该有权访问
希望这可以帮助..