Pau*_*ver 11 windows cygwin bash windows-8.1 docker
我正在运行 docker 1.6 并boot2docker
在 Windows 8.1 机器上运行。当我使用 Boot2Docker Start 快捷方式时,它会将我带到一个 cygwin bash 提示符,我可以在其中本地运行 docker 命令。
我在从我的用户文件夹安装目录时遇到问题。我试过了:
$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
我收到错误:
invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir"
for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir
is not an absolute path
See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)
当我这样称呼它时,我得到了相同的结果:
$ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v "/c/users/someone/AppData/Roaming/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v ~/AppData/Roaming/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
我也试过:
$ docker run -d --name abe -v ~/APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
我得到了错误:
FATA[0000] Error response from daemon: cannot bind mount volume: ~\AppData\Bitcoin volume paths must be absolute.
Run Code Online (Sandbox Code Playgroud)
似乎 cygwin bash 正在替换/
,\
然后 docker 解析传递给的参数-v
并且无法接受它。
小智 13
如果要将$APPDATA
Windows 主机/datadir
上的挂载到docker 容器上,而不是以下命令:
docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
您可以发出:
docker run -d --name abe -v //c/Users/YOUR_USER_NAME/$APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
//c/Users/PATH_TO_DIR
是 Windows 目录的关键
您的$APPDATA
目录必须驻留在/c/Users/Your_User_Name
目录中,不能驻留在其他地方。(例如D:/$APPDATA
在 D 分区上。)
小智 6
见:https : //github.com/docker/docker/issues/12590
如果您在 Windows 上使用 git bash,msysgit 会将 /c/users 之类的路径转换为 c:\users(不是您想要的,因为 boot2docker VM 中的路径是 /c/Users)
在 cmd.exe/powershell 上,您不应该遇到此问题。
归档时间: |
|
查看次数: |
9975 次 |
最近记录: |