在Docker容器中挂载Windows驱动器的奇怪行为

我正在使用Windows 10的Docker,并试图将我的D:驱动器中的文件夹挂载到一个容器。 这应该是可能的最新版本。

我已经在“设置 – >共享驱动器”中共享我的D:驱动器

如果我在docker执行这个:

 docker run --rm -v /D:/data alpine ls /data 

然后它正确列出我的D:驱动器的根目录中的文件和文件夹。 这certificate它可以看到我的D:驱动器并安装它。

如果我执行这个:

 docker run --rm -v D:/:/data alpine ls /data 

然后,它也正确地列出了我的D:驱动器根目录中的文件和文件夹。 certificate该命令可以处理D:驱动器的不同语法。

但是,如果我做任何这些:

 docker run --rm -v D:/M3:/data alpine ls /data docker run --rm -v D:/M3/:/data alpine ls /data docker run --rm -v /D/M3:/data alpine ls /data docker run --rm -v /D/M3/:/data alpine ls /data docker run --rm -v D:\M3:/data alpine ls /data docker run --rm -v D:\M3\:/data alpine ls /data docker run --rm -v D:\M3:/data alpine ls /data 

他们不会列出文件夹D:\M3中的文件。 难道我做错了什么?

我知道这是一个古老的线程,但我在这里添加我的答案给其他人面临同样的问题。 我最近开始使用Windows,并挣扎了一下让Docker在WSL上工作。

 -v //d/host/folder:/container/folder 

这适用于Linux子系统(WSL)和Windows PowerShell