首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Windows的Docker Toolbox中使用--volume选项?

如何在Windows的Docker Toolbox中使用--volume选项?
EN

Stack Overflow用户
提问于 2015-10-14 21:11:00
回答 3查看 46.1K关注 0票数 40

如何在我的Windows文件和docker容器之间共享文件夹,方法是使用Docker Toolbox在上使用简单的--volume命令安装一个卷?

我正在使用"Docker快速入门终端“,当我尝试这样做时:

代码语言:javascript
复制
winpty docker run -it --rm --volume /C/Users/myuser:/myuser ubuntu

我有这个错误:

代码语言:javascript
复制
Invalid value "C:\\Users\\myuser\\:\\myuser" for flag --volume: bad mount mode specified : \myuser
See 'docker run --help'.

this之后,我也尝试了

代码语言:javascript
复制
winpty docker run -it --rm --volume "//C/Users/myuser:/myuser" ubuntu

并得到了

代码语言:javascript
复制
Invalid value "\\\\C:\\Users\\myuser\\:\\myuser" for flag --volume: \myuser is not an absolute path
See 'docker run --help'.
EN

回答 3

Stack Overflow用户

发布于 2016-08-27 21:41:36

截至2016年8月,Docker for windows现在直接使用hyper-v,而不是virtualbox,所以我认为它有点不同。首先在设置中共享驱动器,然后使用C:驱动器号格式,但使用正斜杠。例如,我创建了一个H:\t\REDIS目录,并能够使用以下命令将其挂载到容器中的/data上:

代码语言:javascript
复制
docker run -it --rm -v h:/t/REDIS:/data redis sh

使用相同的格式,使用驱动器号和冒号,然后使用正斜杠作为路径分隔符,在windows命令提示符和git bash中都有效。

我发现这个问题在谷歌上寻找答案,但我找不到任何有用的东西。在没有抛出错误的情况下,似乎一切正常,但我只是看不到主机上的数据(反之亦然)。最后,我仔细检查了设置,并尝试了它们显示的格式:

因此,首先,您必须在此处的设置中将整个驱动器共享到docker虚拟机,我认为这会使在hyper-v中运行的'docker-machine‘虚拟机访问该驱动器。然后你必须使用这里显示的格式,它似乎只存在于这一张图片中,并且没有在网上找到的文档或问题中:

代码语言:javascript
复制
docker run --rm -v c:/Users:/data alpine ls /data
票数 5
EN

Stack Overflow用户

发布于 2019-01-22 03:37:41

简单地使用双前导斜杠对我来说在Windows 7上很有效:

代码语言:javascript
复制
docker run --rm -v //c/Users:/data alpine ls /data/

图片来源:https://github.com/moby/moby/issues/12590

票数 5
EN

Stack Overflow用户

发布于 2017-10-03 01:06:32

我解决了!

添加卷:

docker运行-d卷my-named- -v :C:\MyNamedVolume测试时间:最新

装载主机目录:

docker运行-d -v C:\Temp\123:C:\My\Shared\Dir testimage:latest

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33126271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档