我已经在 Windows 10 中设置了最新的 Docker Desktop 2.1.0.5 并创建和运行简单/琐碎的容器,即docker run --rm -v c:/Users:/data alpine ls /data
工作正常。
但是,我遇到了麻烦(1)创建一个与 Windows 主机上的文件夹绑定的卷并要求 Linux 容器使用它;(2) 为该容器指定一个 DockerFile。这是我尝试过的:
- 我通过命令创建了一个卷
docker volume create --driver local --opt type=none --opt device=c:\path\to\folder --opt o=bind test_vol
,并尝试像这样安装它docker run --rm -v test_vol:/data alpine ls /data
:这给了我错误:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护进程的错误响应:挂载卷'/var/lib/docker/volumes/test_vol/_data'时出错:挂载本地卷失败:挂载c :\path\to\folder:/var/lib/docker/volumes/test_vol/_data,标志:0x1000:没有这样的文件或目录。
但是,如果我在命令中指定该主机文件夹docker run
而不通过先前创建的卷(如:)docker run --rm -v c:\path\to\folder:/data alpine ls /data
,那么它可以正常工作。
- 指定 DockerFile 也是有问题的。如果我使用这个命令:
docker run --rm --env-file c:\path\to\DockerFile -v c:\path\to\folder:/data alpine ls /data
,我得到这个错误:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: 读取 c:\path\to\DockerFile: 句柄无效。请参阅“C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help”。
- 对于上述内容,我尝试更改斜杠 (
/
vs\
) 的方向并将路径放在引号中,但这些都没有帮助或改变错误输出。 - 我确保在 Docker 桌面设置中打开了“共享驱动器”。
我对如何在 Docker for Windows 中指定这些路径感到非常困惑。有人可以建议如何解决这个问题吗?谢谢你。