`mount: permission denied` 在 Azure 虚拟机上 运行 Docker

`mount: permission denied` on Azure virtual machine running Docker

我在 Azure 上创建了一个 Data Science Virtual Machine 和一个存储帐户(就像我创建一个虚拟机一样)。然后我跟着these directions创建了一个文件共享。 blade "Connect" 出现在右侧,命令从 Linux 计算机连接:

To connect to this file share from a Linux computer, run this command:

sudo mount -t cifs //storagename.file.core.windows.net/filesharename [mount point] -o vers=3.0,username=storagename,password=[GUID],dir_mode=0777,file_mode=0777,sec=ntlmssp

我用

启动了一个Docker容器
sudo docker run -it tensorflow/tensorflow:latest-py3 bash

创建一个目录,用它替换 [mount point],我得到一个权限错误,使用 sudo 我得到缺少的可执行文件:

root@9cda7bc6176d:~# mkdir /mnt/storage
root@9cda7bc6176d:~# mount -t cifs //storagename.file.core.windows.net/filesharename /mnt/storage -o vers=3.0,username=storagename,password=[GUID],dir_mode=0777,file_mode=0777,sec=ntlmssp
mount: permission denied
root@9cda7bc6176d:~# sudo mount -t cifs //storagename.file.core.windows.net/filesharename /mnt/storage -o vers=3.0,username=storagename,password=[GUID],dir_mode=0777,file_mode=0777,sec=ntlmssp
bash: sudo: command not found

如何在 Docker 容器中装载 Azure 文件共享?

您需要文件共享在 Azure 上吗?因为 Docker 可以挂载文件系统,而且您不必管理额外的存储帐户。来自 this Whosebug thread,此命令:

sudo docker run -v ~:/mnt/caller -it tensorflow/tensorflow:latest-py3 bash

会将您放入 Docker 容器中,主机主目录安装在 /mnt/caller