在 docker 中装载本地文件夹会导致目录为空

Mounting a local folder in docker results in an empty directory

首先是我的设置:

我正在尝试将本地开发文件夹挂载为 docker 容器中的卷,但挂载的目录始终为空。 我已经通过 docker for windows 设置对话框启用了 c:/ 的共享驱动器设置。

我已经尝试通过 WSL 和 powershell 挂载本地目录,但都没有成功。我试过的命令是:

docker run -it -v /c/code/bitbucket/my-api:/var/my-api -w "/var/my-api" centos:7
docker run -it -v c:/code/bitbucket/my-api:/var/my-api -w "/var/my-api" centos:7
docker run -it -v c:\code\bitbucket\my-api:/var/my-api -w "/var/my-api" centos:7

在 WSL 和 powershell 中,但都会导致一个空的 /var/my-api 文件夹

顺便说一下,如果我放置一个不存在的文件夹,我会收到以下错误:

➜  docker run -it -v /c/code/bitbucket/my-apizzz:/var/my-apizzz -w "/var/my-apizzz" centos:7
docker: Error response from daemon: Mount denied:
The source path "C:/code/bitbucket/my-apizzz"
doesn't exist and is not known to Docker.
See 'docker run --help'.

所以我认为我使用的语法正确,只是 docker 似乎无法访问文件共享

我以前见过这个问题。尝试在此处重置您的凭据:

然后测试:

docker run --rm -v c:/code/bitbucket/my-api:/data alpine ls /data