如何使用用户名、密码、uid 和 gid 创建 CIFS docker 卷

如何使用用户名、密码、uid 和 gid 创建 CIFS docker 卷

我正在尝试使用创建docker卷docker-volume-netshare司机来自这里:https://github.com/ContainX/docker-volume-netshare

顺序应该是这样的:

docker volume create -d cifs <some_options>
docker run -v <the_volume> <other_docker_options>

我可以让它部分工作,但就我而言,我无法让它传递我需要的所有选项。

我不想尝试重述无数不同的失败模式,而是更愿意陈述我的目标。下面,docker-volume-netshare 将执行一个命令。当设置为 时,mount -t cifs ...可以在日志中看到这一点。verbosetrue

这是我想获取的 mount 命令。我可以在其中获取用户名和密码,但仅限于使用 .netrc 文件时,而且我没有找到将 uid 和 gid 放入命令中的方法。

mount -t cifs -o username=myusername,password=mypasswd,uid=500,gid=499,rw //myserver.example.net/mysharename /the_mount_point/

因此,我正在寻找通过 docker-volume-netshare 传递这些选项的权威语法。

答案1

有点晚了...但是这是解决方案:

docker volume create \
     --driver local \
     --opt type=cifs \
     --opt device=//server.domain/path/to/share \
     --opt o=addr=server.domain,username=myuser,password=mypw,file_mode=0777,dir_mode=0777 \
     --name myvolume

在某些情况下,DNS名称不起作用,这个问题已经在这个公共关系现在可以通过添加来使用域名地址在 CIFS 选项中。使用选项“credentials”而不是“username”和“password”对我来说不起作用。我总是收到错误“未指定用户名”。从 shell (mount -t cifs //server/path -o credentials=/etc/cifs.cred /tmp/mnt) 运行正常。

相关内容