Azure文件存储的Docker卷驱动程序的权限问题

时间:2016-05-10 13:25:29

标签: unix azure docker

我正在关注此项目的自述文件(https://github.com/Azure/azurefile-dockervolumedriver/blob/master/contrib/init/upstart/README.md),但当我尝试在这样的容器上安装卷时

docker volume create -d azurefile -o share=myshare --name=myvol
docker run -i -t -v myvol:/data busybox
(inside the container)
# cd /data
# touch file.txt

我收到此错误:

Error response from daemon: VolumeDriver.Mount: mount failed: exit status 32
output="mount.cifs kernel mount options:    ip=168.61.57.82,unc=\\\\cmstoragecd.file.core.windows.net\\myshare,vers=3.0,dir_mode=0777,file_mode=0777,user=cmstoragecd,pass=********\nmount 
error(13): Permission denied\nRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)\n"

这是在Azure上的Ubuntu 14.04服务器上运行的。我已成功使用类似服务器的扩展,但它现在无法正常工作。我该怎么做才能调试这个?

2 个答案:

答案 0 :(得分:1)

你的回答是正确的。目前,许多Linux发行版中的CIFS都没有加密支持 - Azure文件存储在跨区域SMB流量中需要。

https://azure.microsoft.com/en-us/documentation/articles/storage-how-to-use-files-linux/

处引用注释
  

注意: Linux SMB客户端尚不支持加密,因此从Linux挂载文件共享仍需要客户端与文件共享位于同一Azure区域。但是,Linux的加密支持是负责SMB功能的Linux开发人员的路线图。将来支持加密的Linux发行版也可以从任何地方安装Azure文件共享。

将来,请考虑直接与我们联系,方法是在我们的GitHub存储库上打开一个新问题:https://github.com/Azure/azurefile-dockervolumedriver/issues

答案 1 :(得分:0)

我设法通过在与Azure VM相同的区域中使用存储帐户来解决此错误。最初我在西欧运行了一个使用美国东部文件共享的虚拟机。