无法在 Windows 版 Docker Desktop 中装载驱动器 d:\ 或 e:\ 的卷

问题描述 投票:0回答:1

在互联网和 Stackoverflow 上搜索了此内容,但没有成功

在 Windows 10 上使用 Docker for Desktop 版本 4.12.0,并以 WSL2 作为后端。

在 Windows 命令提示符窗口中,以下内容有效并列出 c:/data 中的文件

docker run --rm -v c:/data:/target alpine ls /target 

但是以下方法都不起作用。 /target 目录始终为空!

docker run --rm -v d:/data:/target alpine ls /target 

docker run --rm -v "d:/data:/target" alpine ls /target

docker run --rm -v "d:/data":/target alpine ls /target 

docker run --rm -v /mnt/d/data:/target alpine ls /target

docker run --rm -v /run/desktop/host/d/data:/target alpine ls /target 

docker run --rm -v "/run/desktop/host/d/data:/target" alpine ls /target

但是,在 WSL 2 终端窗口中,以下命令可以工作并列出 /target 目录下的文件!

docker run --rm -v /mnt/d/data:/target alpine ls /target

但我想使用适用于 Windows 的 Docker Desktop 并使用 Windows 命令提示符。最终,我想在 docker-compose.yml 中挂载卷。

根据过去 StackOverflow 的答案,上述一些命令似乎适用于不同的人。不知道是否是因为 Docker for Desktop 版本不同,或者不清楚他们是在 WSL2 终端窗口还是 Windows 命令提示符窗口中进行尝试。

docker docker-volume docker-container docker-desktop
1个回答
6
投票

您面临着关于 Docker 卷的 Microsoft 限制

我们支持映射整个第二个驱动器号,但目前,不支持 它的一部分


您必须安装完整的d驱动器,如

d:

其他选项,例如根 (

d:\
) 或路径 (
d:\somefolder
) 不适用于第二个驱动器。

在你的情况下,这意味着做类似的事情:

docker run -it -v d: alpine ls /d/data

如果这会在容器内创建一个空的 d 文件夹,则意味着您遇到了驱动器内的权限问题。


请注意,即使问题评论来自 2016 年,似乎限制仍然存在...

© www.soinside.com 2019 - 2024. All rights reserved.