我在windows系统中使用了docker v20.10.17。我希望运行一个容器(jupyterhub/jupyterhub),并将一个目录挂载到其中,以共享数据(对于在容器系统中具有写权限的所有用户来说)。
共享目录来自另一个NAS (//192.168.1.5/文件夹/ shared _data),可以从主机系统正确地打开该目录。我在这里遵循创建CIFS/Samba卷指令,首先创建一个samba卷:
PS C:\Users\Administrator> docker volume create \
--driver local \
--opt type=cifs \
--opt device=//192.168.1.5/folder/shared_data \
--opt o=addr=192.168.1.5,username=myusername,password=mypassword,file_mode=0777,dir_mode=0777 \
--name cif-volume成功地创建了一个名为cif-volume的卷。然后:
PS C:\Users\Administrator>docker run --rm -it -p 18000:8000 \
--name jhubcontainer \
--cap-add SYS_ADMIN \
--cap-add DAC_READ_SEARCH \
--privileged \
-v cif-volume:/etc/skel/shared_data jupyterhub-image我收到了这样的错误信息:
docker: Error response from daemon: failed to mount local volume: mount //192.168.1.5/folder/shared_data:/var/lib/docker/volumes/cif-volume/_data, data: username=myusername,password=mypassword,file_mode=0777,dir_mode=0777: operation not supported.
See 'docker run --help'.这件事需要帮助。
更新2022/11/03,并附有更新信息:
我试图在斯拉夫·库拉夫斯基的帮助下更新我的命令,但仍然有错误。在前面的问题中,我使用了一个伪地址和用户名。我将粘贴与真实地址和用户名一起使用的确切命令,而不进行任何修改。
PS C:\Users\Administrator> docker volume create --driver local --opt type=cifs --opt device="//172.16.90.50/public/shared_data" --opt o=addr=172.16.90.50,username=212,password=ziyuan,file_mode=0777,dir_mode=0777,vers=2.0 --name cif-volume
cif-volume
PS C:\Users\Administrator> docker run -it --rm -p 18000:8000 --name jhubcontainer -v cif-volume:/etc/skel/shared_data jupyterhub-20221021-mountsmb
docker: Error response from daemon: failed to mount local volume: mount //172.16.90.50/public/shared_data:/var/lib/docker/volumes/cif-volume/_data, data: addr=172.16.90.50,username=212,password=ziyuan,file_mode=0777,dir_mode=0777,vers=2.0: invalid argument.
See 'docker run --help'.
PS C:\Users\Administrator>docker映像是"jupyterhub/jupyterhub",而"jupyterhub-20221021-mountsmb“是在安装了其他python包和配置后的备份。

为了确保地址是可访问的,我尝试了:
PS C:\Users\Administrator> net use m: \\172.16.90.50\public\shared /user:212 ziyuan
命令成功完成。打印出来的"命令成功完成“意味着”命令成功“。我可以在资源管理器中看到我的骑马司机"M:“。

发布于 2022-11-02 18:33:45
将cifs版本添加到卷选项:vers=2.0
docker volume create \
--driver local \
--opt type=cifs \
--opt device=//192.168.1.5/folder/shared_data \
--opt o=addr=192.168.1.5,username=myusername,password=mypassword,file_mode=0777,dir_mode=0777,vers=2.0 \
--name cif-volume为我工作,没有任何额外的特权和能力
docker run -it --rm --name cifs -v cif-volume:/mnt ubuntu:latest ls /mnthttps://stackoverflow.com/questions/74176709
复制相似问题