Docker OSX挂载的文件夹是空的

我试图从/ var / www我的项目文件夹到容器中的同一文件夹,但在容器中的文件夹是空的。 问题可能是与主机文件夹的权限,因为如果我尝试与其他文件夹的工作。

这工作:

docker run -it -v ~/Downloads:/var/www debian:jessie /bin/bash 

这不起作用:

 docker run -it -v /var/www:/var/www debian:jessie /bin/bash 

你不能在你的homedir之外挂载任何文件夹〜/,这是Mac和Windows上的VM限制。 当创buildVirtualbox时,它将文件夹安装到Users目录中,这使得它成为容器可用的唯一文件夹https://github.com/docker/kitematic/issues/1192

默认情况下,机器只会共享您的主目录。 如果您想添加更多,则需要使用VirtualBox UI添加它们。 https://github.com/docker/machine/issues/1814

除了上面的vitr的很好的回答,如果你用docker容器使用了Dinghy ,那么在你的本地机器上检查DINGHY_HOST_MOUNT_DIRDINGHY_GUEST_MOUNT_DIR的设置, 你试图挂载的文件夹是低于上面的环境variables中指定的。 如果这些env。 variables没有被指定,那么你的主目录被假定。

 $ env | grep DINGHY_HOST_MOUNT_DIR DINGHY_HOST_MOUNT_DIR=/Users/ro/my_docker_workspace $ env | grep DINGHY_GUEST_MOUNT_DIR DINGHY_GUEST_MOUNT_DIR=/Users/ro/my_docker_workspace 

所以在上面的例子中,我只能在my_docker_workspace和下面安装本地文件夹。