【发布时间】:2016-08-24 21:11:44
【问题描述】:
我想在 Windows 10 上运行一个容器并将我的本地文件夹挂载到容器中的一个文件夹中。我们以下面的命令为例,但任何容器都可以。
docker run -v "$(pwd)":/data -- name mongo -d mongo mongod --smallfiles
问题在于 pwd 命令。在 Unix 环境中它返回一个相对路径,但在 Windows 中它返回一个绝对路径。
我尝试将“$(pwd)”替换为“.”甚至没有运气的“./”。我也试过($pwd | Resolve-Path -Relative)。在所有情况下我都会得到
Error parsing reference: ":/data" is not a valid repository/tag.
有效的方法是将“$(pwd)”替换为/d/path/to/my/folder。
docker run -v /d/path/to/my/folder:/data -- name mongo -d mongo mongod --smallfiles
(即 d:\path\to\my\folder)并且安装已正确完成。但是,我想让命令通用,以便可以从主机上的任何文件夹运行。
【问题讨论】:
-
显然
"$(pwd)"不是作为命令运行的,而是似乎被解释为pwd变量的值(猜想我很久以前就离开了Windows 世界)。鉴于该值为 void,您将收到错误":/data" is not a valid repository/tag.- 请注意冒号前没有目录名...切换到 linux 或 OSX...
标签: powershell docker